У меня есть две функции делегата. Но я хочу, чтобы, если щелкнуть img, не нажимайте на <li>.
<li><img src='img.png'/></li>
$('#listview').delegate('li img', 'click', function(){
alert('img clicked!');
});
$('#listview').delegate('li', 'click', function() {
window.open("details.php?id" + $(this).attr('id'), '_blank');
});
Если щелкнуть изображение (внутри li), я бы хотел НЕ открыть эту страницу. В настоящее время, когда я нажимаю изображение, оно предупреждает плюс показывает новую страницу. Как я могу избежать этого?
Попробуйте использовать event.stopImmediatePropagation():
$('#listview').delegate('li img', 'click', function(e){
e.stopImmediatePropagation();
alert('img clicked!');
});
для предотвращения возникновения события в дереве DOM.