Обработка клика только по контейнеру
Доброе время суток.
Задача состоит в следующем: мне надо обрабатывать клик, только по контейнеру. Контейнер - обычный 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, время: 03:12. |