为什么不停止在这个小提琴中停止传播?

时间:2015-03-24 20:24:49

标签: javascript jquery html stoppropagation

我正在尝试使用stopImmediatePropagation()阻止其他事件发生。该事件与我用于绑定到stopImmediatePropagation()的相同元素相关联。

场景是我正在使用库(tour.js)进行网络浏览。在网络浏览期间,我不希望与页面进行任何交互(除了单击导览的下一个/后退按钮)。

我实现这一目标的方法是对绑定到它们的点击次数的元素使用stopImmediatePropagation()。然后,当巡回演出退出时,我解除绑定stopImmediatePropagation

到目前为止,当我尝试阻止的操作是通过jquery click()方法调用时,这已经有效了,但是当通过on()方法绑定操作时它似乎不起作用

我遇到的问题是我正在调用stopImmediatePropagation(),但其他操作仍在运行。我在一个简单的JSFiddle中创建了一个示例: http://jsfiddle.net/0w74vkmj/

HTML:

<button id="button">Hi</button>

JS:

$("#button").on("click", function(){
    alert("hi");
});

$("#button").on("click", function(e){
    e.stopImmediatePropagation();
});

1 个答案:

答案 0 :(得分:0)

因为&#39; hi&#39;正在加入,它首先被解雇。将其更改为此按预期工作:

$("#button").on("click", function(e){
    e.stopImmediatePropagation();
});

$("#button").on("click", function(){
    alert("hi");
});