JQuery и селекторы - PullRequest
       36

JQuery и селекторы

2 голосов
/ 06 октября 2009

Я хочу иметь событие click для тега body, но у меня есть тег div под тегом body, который я не хочу включать в событие click. Я пытался с этим, но это, кажется, работает правильно:

$("body").not("#InnerDiv").click(function() {
    alert("Hejhej");
});

HTML:

<body>
   <div id="1">1</div>
   <div id="2">2</div>
   <div id="InnerDiv">InnerDiv</div>
</body>

Ответы [ 2 ]

5 голосов
/ 06 октября 2009

События клика всплывают. Обработчик щелчков по умолчанию в InnerDiv делегирует событие click его родителя. Вы можете переопределить это событие и попросить его не всплывать.

$("body").click(function() {
          alert("Hejhej");
      });
$("#InnerDiv").click(function(e) {
          e.stopPropagation();
      });
1 голос
/ 06 октября 2009

Попробуйте


    $("body").click(function() { alert("Hejhej"); });
    $('#InnerDiv').click(function(e) { e.stopPropagation(); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...