如何更改以下代码,以便在点击网页上的任何位置时,“This is foo”这一行将消失,此时我必须点击“点击此处”使其消失。
<html>
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
<body>
<a href="#" onclick="toggle_visibility('foo');">Click here</a>
<div id="foo">This is foo</div>
</body>
</html>
答案 0 :(得分:1)
您需要将点击事件绑定到body
元素,以便在您点击页面上的任意位置时触发该事件。
答案 1 :(得分:0)
尝试使用文档对象附加事件处理程序
document.onclick = function(){
var e = document.getElementById('foo');
e.style.display = ((e.style.display != 'none') ? 'none' : 'block');
};
答案 2 :(得分:0)
HTML:
<body onclick="foo();">
<a href="#" onclick="toggle_visibility('foo');">Click here</a>
<div id="foo" style="display:none;" >This is foo</div>
</body>
JS:
var b = false;
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
b = true;
}
function foo() {
var e = document.getElementById('foo');
if(!b) e.style.display = 'none';
b=false;
}
这一点css:
body,html
{
width:100%;
height:100%;
}