[英]Capturing clicks outside DOM element
我想捕獲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.(...)) {}
})
因為頁面上的其他事件停止工作。
實現此目標的另一種方式是什么?
$(document).bind('click', function(e) {
if($(e.target).closest('#button').length == 0) {
// yourlogic
}
});
還要檢查如何檢測元素外部的點擊?
$(document).click(function(e){
e.stopPropagation();
if($(e.Target).attr(id) != "button"){
// Your logic
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.