Jquery - событие щелчка огня только на верхнем верхнем слое, а не на обоих - PullRequest
0 голосов
/ 29 ноября 2011

При нажатии на Child, Parent и Child запускаются alert.

Как я могу сделать только Child для оповещения при нажатии на него?

<div id="Parent" style="width:300px;height:100px;border:solid 1px red;">
    Parent
    <div id="Child" style="width:300px;height:50px;border:solid 1px green;">
        Child
    </div>
</div>

<script>
$(document).ready(function(){
    $("#Child").click(function(){alert('child')})
    $("#Parent").click(function(){alert('Parent')})
})
</script>

http://jsfiddle.net/WAYgL/ Если вы нажмете в этом примере на Child, оба оповещения сработают, как я могу запретить Parent предупреждать

1 Ответ

10 голосов
/ 29 ноября 2011

Вы можете вызвать метод stopPropagation объекта события:

$("#Child").click(function(e) {
    e.stopPropagation();
    alert('child');
});

Это останавливает всплытие события в DOM-дереве (по умолчанию события DOM ведут себя)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...