在 JavaScript 中防止事件在冒泡和捕获时触发
Prevent event triggering on bubbling and on capturing in JavaScript
是否可以在 JavaScript 中防止事件在冒泡和捕获时触发?
e.stopPropagation()
不是我要找的。
在我的例子中,我只想直接 window 模糊来触发事件。在每个子控件模糊上触发 window 上的模糊事件会影响性能。 (我相信这与问题无关,但仍然为了避免 xyz 问题,我会提到我在 window 上使用模糊事件来检查是否由于 iframe 单击而发生模糊,以防万一确实如此,然后我 运行 一些代码。也就是说,我在这里需要的是一种将模糊侦听器附加到 window 的方法,这样模糊侦听器将 运行 仅在 window ] 模糊,但不在其子项上模糊。)
也许有一种方法可以将事件侦听器添加到 window 仅模糊的目标阶段?或者监听器是否总是在冒泡和捕获时被调用并且无法避免?
event bubbling
从 child 到 parent。所以它本质上是你想阻止的事件捕获。
当您使用
添加事件侦听器时
window.addEventListener("focus", callback, true/false)
第三个参数建议捕获或冒泡。因此,如果您只保留它,false
事件只会冒泡,并且由于 window 是最顶层的元素,它不会传播到其他任何地方。
是否可以在 JavaScript 中防止事件在冒泡和捕获时触发?
e.stopPropagation()
不是我要找的。
在我的例子中,我只想直接 window 模糊来触发事件。在每个子控件模糊上触发 window 上的模糊事件会影响性能。 (我相信这与问题无关,但仍然为了避免 xyz 问题,我会提到我在 window 上使用模糊事件来检查是否由于 iframe 单击而发生模糊,以防万一确实如此,然后我 运行 一些代码。也就是说,我在这里需要的是一种将模糊侦听器附加到 window 的方法,这样模糊侦听器将 运行 仅在 window ] 模糊,但不在其子项上模糊。)
也许有一种方法可以将事件侦听器添加到 window 仅模糊的目标阶段?或者监听器是否总是在冒泡和捕获时被调用并且无法避免?
event bubbling
从 child 到 parent。所以它本质上是你想阻止的事件捕获。
当您使用
添加事件侦听器时window.addEventListener("focus", callback, true/false)
第三个参数建议捕获或冒泡。因此,如果您只保留它,false
事件只会冒泡,并且由于 window 是最顶层的元素,它不会传播到其他任何地方。