我正在使用一个jquery插件,它绑定某些元素上的click事件。
我知道该插件使用
e.stopPropagation();
但是我也希望在点击这些元素时拥有自己的活动。
有没有办法让插件的stopPropagation处于非活动状态,或者让我的事件优先于插件绑定?
答案 0 :(得分:2)
e.stopPropagation()
阻止事件传播UP到父对象。它不会阻止附加到同一对象的其他事件处理程序触发。
因此,如果您想在对象上使用其他事件处理程序,您可以直接附加它们,它们不会受e.stopPropagation()
的影响。您只需要确保将自己的事件附加到事件的实际源对象,而不是父对象。
在回答问题的另一部分时,阻止e.stopPropagation()
调用的唯一方法是删除调用它的事件处理程序或修改插件的代码以删除那条线。但是,幸运的是,您可以在对象上拥有自己的功能事件处理程序,而无需执行其中任何操作。
答案 1 :(得分:0)
将click事件添加到您的元素,如下所示,它将首先调用您的on click事件,然后事件冒泡到插件附加的其他事件
$("#element").on("click", function(){
alert('my event called');
});
答案 2 :(得分:0)
Event.prototype.stopPropagation = null;