0

我正在尝试编写一个 Chrome 扩展程序,以编程方式将点击事件发送到页面上的特定链接。这个特定的链接在我可以通过 Chrome 的网络检查器看到的页面上知道点击事件处理程序。

我在 Chrome 扩展程序.click()content_page脚本中使用 jQuery 发送此单击事件,但看起来处理程序没有触发。当控制台记录 jQuery.click()调用的结果时,我可以看到预期的返回值正在返回,所以我知道这段代码实际上正在运行。Ch

我知道这个 jQuery 代码有效,因为我可以将同一行粘贴到该页面的 Chrome 控制台中并获得我期望的结果。

我是否疯狂地认为我可以从扩展中触发 DOM 事件content_page?我知道content_page在单独的环境中执行,但我很确定触发的 DOM 事件在两个环境中都冒泡了。

(如果我不是疯了,你将如何进行调试?)

4

1 回答 1

1

答案是肯定的——点击事件确实会传播,但是当我.click()使用 jQuery 定位要发送到的 DOM 元素时会发生一些奇怪的事情,但在使用原生 DOM 遍历函数(如getElementsByClassName().

谜团解决了:只需使用 vanillaJS 方法来调用click()DOM 元素本身,而不是使用 jQuery 包装的版本。

于 2013-07-16T16:07:05.937 回答