有没有办法停止特定命名空间的传播?

时间:2014-02-20 09:04:29

标签: javascript jquery

假设我们像这样创建一个事件监听器:

$(element).on("click.namespace",function(e){alert('hi')});

现在我在div上面有另一个事件,我希望停止第一个事件,保留其他点击事件:

$(element).find('div').on("click",function(e){
    e.stopPropagation(); //I want it to stop only the previous function
});

有没有办法只停止这个特定命名空间的传播?允许所有其他功能正常运行?

它必须与名称空间相关,因为我要停止的事件是在外部库中

2 个答案:

答案 0 :(得分:0)

是的,你可以使用not运算符

$(element+":not(tags to be avoided)").on("click.namespace",function(){
 alert('hi')
});

答案 1 :(得分:0)

作为课程添加,然后检查。

$(element).on("click", function(evt){
   if ($(this).hasClass('namespace')) {
       evt.stopPropagation();
   }
   alert('hi');
});
相关问题