Обработка клика только по контейнеру
Доброе время суток.
Задача состоит в следующем: мне надо обрабатывать клик, только по контейнеру. Контейнер - обычный div. В нём есть элементы, кнопки, изображения и т.п. Но если обрабатывать нажатие на контейнере, то событие вызывается даже если я нажал на кнопку, а не контейнер. Это нормально, но как обойти? <div id="container"> <a id="button1">1</a> <a id="button2">2</a> <a id="button3">3</a> </div> $('#container').click(function(){ alert(); }); В общем, событие должно воспроизводиться всегда, когда есть клик по контейнеру, но кроме попаданий на ссылки или другие элементы. |
Очевидно же, сравнить по каким-то параметрам
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script> <div id="container"> <br> <a id="button1">1</a><br> <a id="button2">2</a><br> <a id="button3">3</a> </div> <script> $("#container").click(function(e) { if (e.target.id == 'container') { alert('Попался'); } }); </script> |
Благодарю :)
|
так думаю получше будет
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script> <style> #container { border: solid 1px green; } #container a { background: #666; } </style> <div id="container"> <br> <a id="button1">1</a><br> <a id="button2">2</a><br> <a id="button3">3</a> </div> <script> $("#container").click(function(e) { if (e.target == this) { alert('Попался'); } }); </script> |
Часовой пояс GMT +3, время: 14:19. |