Необходимо остановить распространение события click
на изображении:
$("#yourImage").click(function(e) {
e.stopPropagation();
//Do stuff on image click
});
$("#yourDiv").click(function() {
//Do stuff on div click
});
Так как события DOM всплывают в дереве, любой щелчок по дочернему элементу (img
в вашем случае) всплывает через любые элементы-предки (div
в вашем случае). Вызов stopPropagation
для объекта события предотвращается, и событие остается там, где оно есть.
Обратите внимание, что вы могли бы вернуть false
из обработчика события, чтобы иметь тот же эффект, но это также может иметь потенциально нежелательные побочные эффекты предотвращения действия браузера по умолчанию для события.