我有一个div内部形式,如
<form>
<div>
showing some information here
</div>
<div id="idshow" style="display:none">
information here
</div>
</form>
我在某些按钮点击事件中的div(idshow)内的人口信息。什么我想要什么,当我生病点击外div(idshow),它应该隐藏。就像我点击菜单然后菜单显示,当我点击外面的菜单它隐藏。 我需要使用jquery
答案 0 :(得分:14)
$(document).click(function(event) {
var target = $( event.target );
// Check to see if the target is the div.
if (!target.is( "div#idshow" )) {
$("div#idshow").hide();
// Prevent default event -- may not need this, try to see
return( false );
}
});
答案 1 :(得分:3)
你可以这样做你想做的事:
$(document).click(function() {
$("#idshow").hide();
});
$("#idshow").click(function(e) {
e.stopPropagation();
});
这里发生的是当您点击时,click
事件一直冒泡到document
,如果它到达那里我们隐藏<div>
。当您在<div>
内部点击时,可以使用event.stopPropagation()
阻止气泡升级至document
...因此.hide()
不会触发,短路和简单:))