我有这段代码
var input = $("form input[name='name'].dhxlist_txt_textarea");
$(input).live('click', function () {
ShowLookupGrid();
});
然后我在第一次执行之前推出了第二个实时绑定
$('#Id').live('click', function () {
return false;
});
但是返回虚假陈述并没有停止将事件冒泡到第二个绑定。
答案 0 :(得分:1)
这不是事件冒泡,而是将处理程序两次附加到同一个元素(一个通过id选择器,另一个通过元素选择器)。
答案 1 :(得分:1)
这应该停止在该元素上触发的任何其他类型的事件,只要它是第一个运行的事件处理程序。
$('#Id').live('click', function (event) {
event.stopImmediatePropagation()
});
答案 2 :(得分:0)
here写得很清楚
由于.live()方法处理 事件一旦传播到 文档的顶部,它不是 可以阻止直播传播 事件
解决.live()
事件传播问题。
动态创建的节点在父节点收到之后才会收到该事件。
这将导致funkyness和stopPropagation和preventDefault将无法解决此问题。
修复:添加行
if(event.target != this){
return true;
}
到父节点事件处理程序的顶部。这将在事件实际发送到子节点时停止触发父事件,并且(与return false不同)将事件传播到目标节点。