javascript - 防止在 JavaScript 中冒泡和捕获事件触发
问题描述
是否可以防止在 JavaScript 中冒泡和捕获事件触发?
这e.stopPropagation()
不是我要找的。
在我的情况下,我只想要一个直接的窗口模糊来触发事件。在每个子控件模糊的窗口上触发模糊事件会影响性能。(我相信它与问题无关,但仍然为了避免 xyz 问题,我会提到我正在使用窗口上的模糊事件来检查模糊是否由于 iframe 点击而发生,如果确实如此,那么我运行了一些代码。也就是说,我需要一种将模糊侦听器附加到窗口的方法,以便模糊侦听器仅在窗口模糊上运行,而不是在其子模糊上运行。)
也许有一种方法可以仅将事件侦听器添加到窗口模糊的目标阶段?或者听者总是会在气泡和捕获时被调用,这是不可能避免的?
解决方案
event bubbling
从孩子到父母。所以它本质上是你想要阻止的事件捕获。
当您使用添加事件侦听器时
window.addEventListener("focus", callback, true/false)
这第三个论点建议捕获或冒泡。因此,如果您只保留它,false
事件就会冒泡,并且由于 window 是最顶层的元素,它不会传播到其他任何地方。
推荐阅读
- reactjs - 来自 useEffect 的数据未呈现
- java - 运行 JAVA 应用程序 - 如何在那里管理“受信任的”证书根?
- c - 没有得到调整大小事件
- vba - 使用 VBA 进行网页抓取:强元素的集合
- triggers - SQL Server AFTER INSERT 触发器不起作用,触发器如何工作?
- r - 如何在R中制作剖面图?
- flutter - 添加介绍页面后,按钮无法定向到它以前定向的内容。代码保持不变
- sql - SQL 查询以查找具有至少一个非空值的列
- python - 如何在pycharm上保持相同的python控制台
- docker - 不能修改/etc/nginx/conf.d/default.conf(只读文件系统?)