我需要从 Chrome 扩展程序触发的页面上有一个事件。我无权修改页面的 JavaScript。
$(selector).live("click", fn);
我需要在我的 Chrome 扩展程序中使用本机 JS 来触发它,如下所示:
selectorElement.click(); //doesn't work
当然,上面的方法不起作用,因为live
正在使用该功能。我怎么能触发它呢?
谢谢!
我需要从 Chrome 扩展程序触发的页面上有一个事件。我无权修改页面的 JavaScript。
$(selector).live("click", fn);
我需要在我的 Chrome 扩展程序中使用本机 JS 来触发它,如下所示:
selectorElement.click(); //doesn't work
当然,上面的方法不起作用,因为live
正在使用该功能。我怎么能触发它呢?
谢谢!
如果您没有 jQuery,您可以使用以下命令触发 DOM 事件dispatchEvent
:
var selector = "#...";
var elmList = document.querySelectorAll(selector);
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
elm[0].dispatchEvent(evt);
此代码在与选择器匹配的第一个元素上触发,但elmList
如果您需要一次触发多个元素,可以将其修改为循环。