event.stopImmediatePropagation()在Chrome for Android上无法正常工作。

7

我相信event.stopImmediatePropagation()在Chrome for Android上不起作用。有人有解决方案吗?(替代代码)?谢谢。


假设使用 event.stopPropagation() 或在监听器处理程序的结尾处添加 return false 是不够的? - Fabrício Matté
@FabrícioMatté 这只会阻止事件传播到父元素。stopImmediatePropagation() 也会阻止传播到兄弟元素。请参见 http://jsfiddle.net/GkJDF/ - Thomas Clayson
同时,它还可以防止运行绑定到当前元素的下一个事件处理程序。现在我更清楚地看到了区别。感谢@ThomasClayson。 - Fabrício Matté
1
很可能是你的代码出了问题。 - Esailija
这个问题现在似乎已经解决了。我在我的平板电脑上使用全新的Chrome安装程序无法再现它。(测试stopImmediatePropagation的jQuery API页面上的示例) - joequincy
3个回答

1

尝试

event.callNonExistingMethode();

或者

不要使用event.stopImmediatePropagation();,只需要使用stopImmediatePropagation();


0
希望你不在寻找 event.preventDefault()

-1

event.stopImmediatePropagation() 隐式调用 event.stopPropagation()

你能试试 event.stopPropagation() 吗?


3
event.stopPropagation() 和 event.stopImmediatePropagation() 不是同样的东西。后者会影响到兄弟元素和父元素的处理程序,而前者只会影响到父元素的处理程序。 - Jeff
@Jeff event.stopImmediatePropagation()与兄弟元素无关。是的,它可以像event.stopPropagation()一样防止事件冒泡到父元素,但也会阻止同一元素上的任何后续事件处理程序触发。https://developer.mozilla.org/en-US/docs/DOM/event.stopImmediatePropagation - Richard Scarrott
@riscarrott:你的链接证实了Jeff上面所说的,并且驳斥了你的陈述。 - Jonathan Hall
@Flimzy 如果这不是假的话,那就是真的了。 - Richard Scarrott
@riscarrott:如果你想忽略明显的问题并编写有缺陷的代码,那也不会影响我。 - Jonathan Hall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接