的jQuery
$(document).click( function () {
alert("hi");
}
HTML
<div id="wrapper">
<div id="inner-1">
<div id="sub-inner1">Sub Inner1 Content</div>
<div id="sub-inner2">Sub Inner2 Content</div>
<div id="sub-inner3">Sub Inner3 Content</div>
</div>
<div id="inner-2" style="float:left; width:49%; border:dotted #CC3300;">
content inside inner-2 div
</div>
</div>
我想在文档上使用Jquery显示Hi警告消息。但我想排除Inner-1 div和它的孩子。我的意思是,只有当我点击除了inner-1及其子元素之外的div时,我才想获得警告信息。感谢。
答案 0 :(得分:3)
尝试
$(document).on('click', function (e) {
if($(e.target).closest('#inner-1').length == 0){
console.log("click", e.target);
}
});
演示:Fiddle
答案 1 :(得分:1)
只需将新事件绑定到排除这样的元素:
jQuery(document).on('click', function(e) {
alert('Document got a click event');
});
// Here bind event on those event on which you want to exclude from
// document click
jQuery(document).on('click', '#inner-1', function(e) {
e.preventDefault();
e.stopPropagation();
return false;
});
答案 2 :(得分:0)
$(document).not('#inner-1').click(function () {
alert("hi");
});
参考 .not()
答案 3 :(得分:0)
答案 4 :(得分:0)
请查看此内容。
$(document).on("click", "#wrapper > div[id!='inner-1']", function(){
alert("Hi");
});
我希望这会对你有所帮助。