7

我已经click使用 Meteor 的事件映射连接了一些基本事件。

处理后如何阻止事件传播?

Meteor 的文档指出

现在,事件处理程序与 jQuery 相连,您收到的事件对象是一个 jQuery 事件对象。

但是,两者似乎都不起作用return falsee.stopPropagation()

4

2 回答 2

6

目前,stopPropagation 在有限的情况下工作。为了在两个处理程序之间停止传播,必须在不同的模板上指定处理程序,并且在内部和外部模板之间必须有一个介入的 DOM 节点容器。修复程序目前正在开发中,并将进入即将发布的版本。

您能否发布您的代码要点,以便我可以确保您的特定情况得到解决?

作为一种解决方法,您可以尝试使用 jQuery 提供的 e.stopImmediatePropagation(),它应该阻止任何其他处理程序运行。

于 2012-05-02T22:45:52.810 回答
2

我自己研究这个问题时遇到了这个问题。Blaze Event Maps 的文档在此处

对于流星中的这个问题,您需要根据您的需要考虑 2 个功能:

stopPropagation()

防止事件传播(冒泡)到其他元素。在此事件映射和其他事件映射中,仍然会触发与相同元素匹配的其他事件处理程序。

stopImmediatePropagation()

防止在此事件上运行所有其他事件处理程序,包括此事件映射中的其他处理程序、冒泡到达的处理程序以及其他事件映射中的处理程序。

我想要的是停止冒泡并停止传播到其他 Meteor 事件处理程序。诀窍也是如此event.stopImmediatePropagation(),它并不是上面建议的真正解决方法。

于 2017-04-17T18:44:50.650 回答