Javascript:单击身体中除了一个元素之外的任何地方 [英] Javascript: Click anywhere in body except the one element inside it
问题描述
我希望能够点击身体内的任何地方,除了一个特定的元素。我无法找出我所做的代码有什么问题。
当我点击 HTML JS 任何帮助表示赞赏。原谅我不正确的格式(这是我的第一篇文章)。谢谢! 您需要将 下面是一个简单的例子: http:// jsfiddle。 net / 5mhqrhwk / 3 / HTML: I want to be able to click anywhere inside the body except that one specific element. I can't find out what's wrong with the code I have done. When I click on the one specific element HTML JS Any help is appreciated. Forgive me for the incorrect formatting (it's my first post here). Thank You! You need to Here's a simple illustration: http://jsfiddle.net/5mhqrhwk/3/ HTML:
这篇关于Javascript:单击身体中除了一个元素之外的任何地方的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋! body $ c中的一个特定元素
.except
$ c>,我不希望它隐藏,但是当我点击 body
时,它应该隐藏。
< html> ;
< head>
< title>点击特定元素< / title>
< / head>
< body id =wrapper>
< center>
< div id =except>< / div>
< / center>
< / body>
< / html>
var body = document.getElementById('wrapper');
var except = document.getElementById('except'); (body.addEventListener)
body.addEventListener(click,function(){bodyClick(yes)},false);
if
else
body.attachEvent(onclick,bodyClick);
function bodyClick(点击){
except.addEventListener(click,exceptClick,false);
函数exceptClick(){
bodyClick(no);
if(clicked ===yes)
except.style.display =none;
}
if(clicked ===yes)
except.style.display =none;
else
except.style.display =show;
}
stopPropagation
添加到外部元素。
var body = document.getElementById('wrapper');
var except = document.getElementById('except');
body.addEventListener(click,function(){
alert(wrapper);
},false);
except.addEventListener(click,function(ev){
alert(except);
ev.stopPropagation(); //这很重要!同时获得警报
},false);
< div id =wrapper>
< center>
< div id =except>< / div>
< / center>
< / div>
.except
inside body
, I don't want it to hide but when I click on body
it should hide. <html>
<head>
<title>Click anywhere except that specific element</title>
</head>
<body id="wrapper">
<center>
<div id="except"></div>
</center>
</body>
</html>
var body = document.getElementById('wrapper');
var except = document.getElementById('except');
if(body.addEventListener)
body.addEventListener("click", function(){bodyClick("yes")}, false);
else
body.attachEvent("onclick", bodyClick);
function bodyClick(clicked){
except.addEventListener("click", exceptClick,false);
function exceptClick(){
bodyClick("no");
if(clicked === "yes")
except.style.display = "none";
}
if(clicked === "yes")
except.style.display = "none";
else
except.style.display = "show";
}
stopPropagation
to the outer element.var body = document.getElementById('wrapper');
var except = document.getElementById('except');
body.addEventListener("click", function () {
alert("wrapper");
}, false);
except.addEventListener("click", function (ev) {
alert("except");
ev.stopPropagation(); //this is important! If removed, you'll get both alerts
}, false);
<div id="wrapper">
<center>
<div id="except"></div>
</center>
</div>