我有一个执行event.stop()
的脚本,并在链接上显示提醒。
其中一些链接有其他JS
脚本链接到它们,如标签,手风琴等。
当然我的event.stop()
并不总是对他们开火(警报显示但标签等仍然有效)。
该项目非常庞大(许多不同的插件和JS),我想知道在event.stop()
之前总是在其他脚本之前工作的最佳方法是什么?像CSS这样的东西!很重要。
回调?对于这么多脚本?
答案 0 :(得分:0)
您需要调用event.preventDefault()或event.stopPropagation(),如下所示:
$(selector).on('click',function(event){
event.stopPropagation();
});
不:event.stop!
答案 1 :(得分:0)
从您的问题中不清楚您是否正在使用PrototypeJS(为事件添加stop
方法)或jQuery(您已标记,但不会在事件上添加stop
方法。
但它对答案来说并不重要:如果其他处理程序在之前附加到元素上,则无法选择性地阻止它们被解雇了你可以完全删除它们(可能很难或很容易,但它可能),但你不能阻止它们被解雇。
如果他们在您的处理程序后附加,那么很简单:使用Event#stopImmediatePropagation
。如果浏览器没有提供它,jQuery会将它添加到事件对象中;我不记得PrototypeJS(多年来没有更新)是否为旧版IE填充了它。它做了其他一些,但我不知道那个。