0

Chrome 拡張機能から起動する必要があるページにイベントがあります。ページの JavaScript を変更するアクセス権がありません。

$(selector).live("click", fn);

次のように、Chrome 拡張機能のネイティブ JS でこれをトリガーする必要があります。

selectorElement.click(); //doesn't work

もちろん、live関数が使用されているため、上記は機能しません。どうすればトリガーできますか?

ありがとう!

4

2 に答える 2

4

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ますが、一度に複数の要素を起動する必要がある場合は、ループ オーバーするように変更できます。

于 2012-05-08T15:19:09.357 に答える
0

試しましたtrigger()か?

$(selector).trigger('click');

もちろん、trigger()jQuery オブジェクトで使用する必要があります (したがって$(selector)) 。

于 2012-05-08T03:21:53.000 に答える