簡體   English   中英

捕獲DOM元素外部的點擊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM