「選択」機能を備えた拡張機能を作成しようとしています。ユーザーがページ上の任意の要素をクリックして、その xpath を表示できるようにします。
ただし、使用できるようにするには、要素をクリックしても反応しないようにする必要があります。ハイパーリンクをクリックして別のページに移動したり、フォームを送信するボタンなどを使用したりしたくありません。
どうすればいいですか?
UPD:Chromeにのみ必要です
「選択」機能を備えた拡張機能を作成しようとしています。ユーザーがページ上の任意の要素をクリックして、その xpath を表示できるようにします。
ただし、使用できるようにするには、要素をクリックしても反応しないようにする必要があります。ハイパーリンクをクリックして別のページに移動したり、フォームを送信するボタンなどを使用したりしたくありません。
どうすればいいですか?
UPD:Chromeにのみ必要です
body
私の意見では、最もクリーンな方法は、キャプチャフェーズで1 つのイベント ハンドラーをバインドし、イベントの伝播/デフォルトの動作を防ぐことです。
クリックした要素への参照を取得するには、次のようにしevent.target
ます。
document.body.addEventListener('click', function(event) {
event.preventDefault();
event.stopPropagation();
console.log(event.target);
}, true);
利点は、他のどのイベント ハンドラーがページ内の要素にバインドされていても、このイベント ハンドラーが最初にトリガーされることです (もちろん、ページが同様のイベント ハンドラーを にバインドしている場合を除きbody
ますが、通常、イベント ハンドラーは にバインドされます)。バブリング段階)。
詳細については、quirksmode.org - イベントの順序とMDN -addEventListener
を参照してください。