我目前正在构建一个浏览器扩展程序,将 javascript/jquery 注入某些页面,并且我遇到了一个奇怪的问题,强制.click()
事件无法从我的注入代码中工作。奇怪的是,如果我从控制台 js 控制台进行调用,它完全可以正常工作。
我真的不明白问题是什么。看来我所有的其他电话都工作正常。我可以使用绑定到单击事件.click(function(){...})
(很明显我的 jquery 已正确加载),并在单击内容时调用方法(很明显我的 jquery 已正确加载),但第二次我尝试强制单击,调用只是不通过。
任何人都可以解释发生了什么,或者我可以解决它的方法吗?
(我无法重新创建这个问题,因为这个问题显然与在扩展中注入 js 有关)
这是我能做的最好的娱乐:
//I have tried all of these separately
console.log($("#this_is_an_id")) //This returns the correct element
$("#this_is_an_id").click() //This does not work at all
$("#this_is_an_id").trigger("click") //I have also tried this without success
$("#this_is_an_id").click(function(){ console.log("stuff") }) //This works fine.
真的,在这一点上,我假设这不是我的错,而是浏览器注入脚本的方法有问题。我正在寻找解决此问题的真正hackey方法,我也尝试过eval('$("#this_is_an_id").trigger("click")')
。有人有其他建议吗?