我希望捕获HTML标记之外的点击次数。例如,我有这个HTML:
<body>
<div>
<ul>
<li id="button">
</li>
</ul>
</div>
</body>
#button是页面中间的最小正方形。一旦用户在外面点击它就会发生一些事情,点击内部就不会发生任何事情。
由于事件传播,这个JS不起作用:
jQuery('*').not('li#button').click(...);
所以我的点击事件最终会触发ul,div和body触发事件。 我不能用这个:
jQuery('*').click(function(e) {
e.stopPropagation();
if(e.(...)) {}
})
因为页面上的其他事件停止工作。
实现这一目标的另一种方式是什么?
答案 0 :(得分:0)
$(document).bind('click', function(e) {
if($(e.target).closest('#button').length == 0) {
// yourlogic
}
});
答案 1 :(得分:0)
$(document).click(function(e){
e.stopPropagation();
if($(e.Target).attr(id) != "button"){
// Your logic
}
});