HTML CODE:
<li id="list_id">List_text<img src='image.jpg' id="img_id"></li>
jQuery功能:
$("#list_id").live('click' , function(){
alert('List is clicked');
});
$("#img_id").live('click' , function(){
alert('Image is clicked');
});
一旦我点击图像,它的父li函数也会被触发。给我一个解决方案来解决这个问题。我需要触发img事件只有当我点击img元素并且需要在点击li元素时触发li事件。
答案 0 :(得分:5)
此处需要.stopImmediatePropagation()
才能安全,因为事件处理程序处于同一级别(document
事件处理程序默认位于$("#list_id").live('click' , function(){
alert('List is clicked');
});
$("#img_id").live('click' , function(e){
e.stopImmediatePropagation();
alert('Image is clicked');
});
),如下所示:
$("#list_id").live('click' , function(e){
if(e.isImmediatePropagationStopped()) return;
alert('List is clicked');
});
$("#img_id").live('click' , function(e){
e.stopImmediatePropagation();
alert('Image is clicked');
});
注意,如果你使用的是jQuery&lt; 1.4.3,为此您还需要检查它是否已使用You can test it here停止,如下所示:
{{1}}
答案 1 :(得分:1)
$("#img_id").live('click' , function(){
alert('Image is clicked');
return false;
});