У меня есть HTML похожий на следующий на моей странице
<div id="someDiv">
<img src="foo.gif" class="someImg" />
</div>
Оболочка div
настроена таким образом, что при нажатии на нее background-color
изменяется с использованием следующего кода jQuery.
$("div").click(function(event){
$(this).css("background-color", "blue");
});
У меня также есть некоторый jQuery, связанный с моим img
, который будет выполнять какую-то другую функцию (ради аргумента, который я собираюсь отобразить и вывести предупреждение), например:
$("img[class=someImg]").click(function(event){
alert("Image clicked");
});
Проблема, с которой я столкнулся, заключается в том, что при нажатии на img
также запускается событие, связанное с div
. Я вполне уверен, что это связано с тем, что jQuery (или, действительно, JavaScript) обрабатывает два элемента DOM - нажатие img
потребует от вас также технически щелчка div
запуск обоих событий.
Два вопроса тогда действительно:
- Мое понимание
DOM / JavaScript каким-то образом некорректен или
это на самом деле, как вещи
происходящий
- Существуют ли какие-либо методы jQuery, которые
позволит мне выполнять действия на
дочерний элемент без вызова
кто связан с его родителем?