gpt4 book ai didi

javascript - 确保内容脚本看到 `click` 事件

转载 作者:行者123 更新时间:2023-12-02 22:40:34 24 4
gpt4 key购买 nike

我正在为 Chrome 编写一个扩展程序,用于监听并捕获用户所做的点击事件。这就是我捕获事件的方式

document.addEventListener('click', async function (e) {

});

它在许多情况下效果很好,但在其他情况下,单击事件永远不会被触发,而是会触发一个或多个焦点事件。我知道,当 javascript 更改某些内容(例如将值设置为隐藏输入或类似内容)时,可能会触发 focusout 事件。

问题是我无法理解为什么在某些情况下不触发点击事件。我可能认为,当函数(上面显示的函数)附加到内容时,有一些元素仍然没有附加到 DOM,但我不确定并且确实没有找到相关文档。或测试它的方法。如果有人能帮我解决这个问题,我将不胜感激

最佳答案

监听click事件的页面元素函数可以对该事件调用preventDefault()或stopPropagation(),这样您的监听器就不会看到它。

尝试在事件的第一阶段(即捕获阶段)监听传播链中的第一个事件目标,窗口:

window.addEventListener('click', yourFunction, true);

或者对于现代浏览器:

window.addEventListener('click', yourFunction, {capture: true});

如果这一项也被取消,您将必须执行以下两项操作中的一项或两项:

  1. 使用 "run_at": "document_start" 声明内容脚本
  2. 监听mousedown事件

关于javascript - 确保内容脚本看到 `click` 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58605898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com