0

ページ上の特定のリンクにクリック イベントをプログラムで送信する Chrome 拡張機能を作成しようとしています。この特定のリンクには、Chrome の Web インスペクターで確認できるページ上の既知のクリック イベント ハンドラーがあります。

.click()Chrome 拡張機能のスクリプトでjQuery を使用してこのクリック イベントを送信してcontent_pageいますが、ハンドラーが起動していないようです。jQuery.click()呼び出しの結果をコンソールに記録すると、期待される戻り値が返されていることがわかります。したがって、このコードが実際に実行されていることがわかります。Ch

この jQuery コードが機能することはわかっています。同じ行を Chrome のコンソールのそのページに貼り付けて、期待どおりの結果を得ることができるからです。

拡張機能から DOM イベントをトリガーできると考えるのはおかしいcontent_pageですか? が別の環境で実行されることはわかっていcontent_pageますが、トリガーされた DOM イベントが両方の環境でバブリングされたことは確かです。

(私が頭がおかしくない場合は、デバッグをどのように進めますか?)

4

1 に答える 1

1

答えはイエスです。クリック イベント伝播しますが、送信したい DOM 要素を.click()jQuery でターゲットにすると奇妙なことが起こりますが、 getElementsByClassName().

ミステリーは解決しました: jQuery でラップされたバージョンではなく、vanillaJS アプローチを使用click()して DOM 要素自体を呼び出すだけです。

于 2013-07-16T16:07:05.937 に答える