如何强制不停止传播



我使用的是一个jquery插件,它在某些元素上绑定了一个点击事件。

我知道插件使用

e.stopPropagation();

但我也希望在点击这些元素时有自己的事件。

有没有办法让插件的stopPropagation处于非活动状态,或者让我的事件优先于插件绑定?

e.stopPropagation()停止事件向父对象传播UP。它不会阻止附加到同一对象的其他事件处理程序启动。

因此,如果您希望对象上有其他事件处理程序,可以直接附加它们,它们根本不会受到e.stopPropagation()的影响。您只需要确保将自己的事件附加到事件的实际源对象,而不是父对象。

在回答问题的另一部分时,阻止e.stopPropagation()调用的唯一方法是删除调用它的事件处理程序,或者修改插件的代码以删除该行。但是,幸运的是,您可以在对象上拥有自己的可运行事件处理程序,而无需执行这两种操作。

将点击事件添加到您的元素中,如下所示,它将首先调用您的点击事件,然后事件气泡上升到插件附加的其他事件

$("#element").on("click", function(){
   alert('my event called');
});
Event.prototype.stopPropagation = null;

最新更新