有没有办法设置"!important" for event.stop()?

时间:2014-04-11 11:48:03

标签: javascript jquery event-handling click alert

我有一个执行event.stop()的脚本,并在链接上显示提醒。

其中一些链接有其他JS脚本链接到它们,如标签,手风琴等。

当然我的event.stop()并不总是对他们开火(警报显示但标签等仍然有效)。

该项目非常庞大(许多不同的插件和JS),我想知道在event.stop()之前总是在其他脚本之前工作的最佳方法是什么?像CSS这样的东西!很重要。

回调?对于这么多脚本?

2 个答案:

答案 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填充了它。它做了其他一些,但我不知道那个。