假设dom元素我有超过2 live
个绑定(或delegate
就此而言)。 (一个或多个可以来自我使用的jquery插件),哪一个得到优先选择。
$(selector).live('click', function(e) {
alert(1);
});
$(selector).live('click', function(e) {
alert(2);
e.stopPropagation();
alert(3);
});
然后有人点击了selector
,就会显示所有3个提醒。
有人可以解释一下吗?
PS:基本问题是当其他地方有活动绑定(读取文件)时,它们会被覆盖,还是会被执行?
答案 0 :(得分:0)
除非你取消绑定以前的绑定,否则它只会添加一个新的事件监听器并且它们都会被执行(除非停止执行)。
答案 1 :(得分:0)
它们都按顺序执行。 你可以通过调用event.stopPropagation()来停止随后调用的事件处理程序。(显然不是!)奇怪的是,如果你调用$(selector).off('click')
它将删除附加到的每一个事件处理程序.live('click')
。 .live
实际上已被弃用,建议您不要使用.on
。