3

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 をクリックしたときにのみアラート メッセージを取得したいという意味でした。ありがとう。

4

5 に答える 5

3

試す

$(document).on('click', function (e) {
    if($(e.target).closest('#inner-1').length == 0){
        console.log("click", e.target);
    }
});

デモ:フィドル

于 2013-10-15T05:57:22.573 に答える
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;
});
于 2013-10-15T06:32:21.997 に答える
0

これをチェックしてください。

$(document).on("click", "#wrapper > div[id!='inner-1']", function(){
    alert("Hi");
});

これがお役に立てば幸いです。

于 2013-10-15T06:10:21.593 に答える
0
$(document).not('#inner-1').click(function () {
alert("hi");
});

参照.not()

于 2013-10-15T05:55:32.173 に答える
0

これを試して:

$('#wrapper>div').not('#inner-1').click( function () {
    alert("hi");
});

デモはこちら

于 2013-10-15T05:55:40.683 に答える