0

停止 JavaScript 事件传播是否被认为是“良好做法” - 它是否以任何方式提高性能?

我想知道在停止传播的布局目的之外是否有好处,这样就不会意外触发多个事件。

4

2 回答 2

5

这完全取决于DOM 的复杂性以及在触发的每个事件中所采取的操作。

您将停止传播事件主要不是因为复杂性,而是因为不需要的操作不会发生。

例如:考虑一种情况,您有一个显示隐藏 div,当您单击该 div 时,它应该打开,如果您单击文档中的其他任何位置,它应该关闭。

因此,您可以将 onclick 事件处理程序连接到文档和 div。因此,您必须在单击 div 时停止传播事件,以便不会调用文档单击处理程序。那是您使用停止事件传播的情况。

于 2009-09-23T07:56:12.977 回答
2

仅当对程序逻辑有必要时,例如防止表单提交或另一个 DOM 元素的操作被触发。除非你有一个非常复杂的 DOM 树,否则不会有任何严重的性能损失。

于 2009-09-23T07:53:31.313 回答