簡體   English   中英

選擇后代,除了一個孩子

[英]Select descendants, except of one child

假設我有這個HTML:

<div class="par">
  <div class="s1">
    <a href="#" class="s1">link</link>
  </div>
  <div class="s8">
    <a href="#" class="s1">link</link>
    <div class="s1">
      <a href="#" class="s1">link</link>
    </div>
  </div>
  <div class="ds44">
    <a href="#" class="s1">link</link>
  </div>
  <span class="t">This is text</span>
  <div class="thisOne">
    <a href="#" class="s1">link</link>
  </div>
</div>

現在我想調用這個函數:

function aFn(){
  alert('Omid');
}

通過單擊<div class="par"><div class="thisOne">及其子項之外的任何元素。 我怎樣才能做到這一點?

將單擊處理程序分配給.par ,然后將一個處理程序分配給.thisOne ,以防止點擊冒泡到.par

$('.par').click(aFn);

$('.thisOne').click(function(e) {
    e.stopPropagation();
});

處理click .par並檢查e.target

例如,

$(".par").on("click", function(e) {
    if ($(e.target).closest(".thisOne").length) {
        return;
    }

    …
});

好的,那很有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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