イベントバインドされたページ上のすべての要素を取得する方法はありますか。 私はすべてのイベントを特定のイベントにすることができると知っていますが、すべての要素がある方法はありますか?JavaScript:イベントバインドを持つすべての要素を取得する
2
A
答えて
1
ありがとうございました。私はページ上のすべての要素をループし、イベントバインドを持つ各要素を配列に追加するこのすばらしいスニペットを見つけました。ダンへ
var items = Array.prototype.slice.call(
document.querySelectorAll('*')
).map(function(element) {
var listeners = getEventListeners(element);
return {
element: element,
listeners: Object.keys(listeners).map(function(k) {
return { event: k, listeners: listeners[k] };
})
};
}).filter(function(item) {
return item.listeners.length;
});
0
コメントに示唆されているように、chrome開発ツールでgetEventListeners(document)
を使用できますが、これをコード内で使用したい場合は、custon関数を使用してイベントを登録し、イベントatached。
コードではない使用する準備ができて、ちょうど例
let elements = [];
function addEventListener(elem, event, cb) {
elem.addEventListener(event, cb);
elements.push(elem);
}
もちろん、イベントが削除されたときに要素を削除する必要があります。
イベントを登録するすべてのコードを制御できない場合は、モンキーパスNode.prototype.addEventListener
の機能を使用できます。これはお勧めしません(あなたはもっと読むことができますhere)。しかし、それは可能性があります...
関連する問題
- 1. Javascript。 aria-labelですべての要素を取得する
- 2. 親要素に対して特定のクラスを持つすべての要素のインデックスを取得する
- 3. javascriptでセレンのクラス名を持つ要素のリストを取得
- 4. 2つのクラスを持つ要素を取得するasp.net MVC
- 5. 関連するすべてのjavascriptをhtml要素に取得する方法
- 6. 特定のデータを持つ要素を取得する*
- 7. 特定のクラスを持つ要素を取得する
- 8. 親要素を取得するjavascript
- 9. Javascript - 要素を取得する
- 10. python lxml:子要素を持つ要素からテキストを取得する方法
- 11. SQL - すべての最初の要素で共有される2番目の要素を持つすべてのタプルを取得します。
- 12. PHP DOMDocument属性と値を持つ要素を取得する
- 13. itemscontrolからkeyboardFocusを持つUI要素を取得する
- 14. lxml:特定の子要素を持つ要素を取得しますか?
- 15. Immutable.js 2つのキー間のすべての要素を取得する
- 16. CoffeeScriptの配列から2つの要素をすべて取得する
- 17. オブジェクトのリストからすべての要素を取得する
- 18. iFrame内のすべての要素を取得する
- 19. ArrayAdapterのすべての要素を取得する方法は?
- 20. wso2ESBのすべての要素URLを取得する方法
- 21. LINQからXMLへの特定の属性を持つすべての要素を取得する
- 22. 特定のデータを持つすべてのtextarea要素を取得するためのJQuery
- 23. jqueryで特定のIDを持つすべての要素のクラスを取得する方法
- 24. jQuery - 現在のポイントからクラスを持つすべての要素を取得する
- 25. クラスとIDによって要素内の要素を取得する - JavaScriptの
- 26. jQueryを使って同様のIDを持つ要素を取得する
- 27. すべての要素を取得するSwift配列+
- 28. (assoc要素alist)すべてのエンティティを取得するautolisp
- 29. 2つの配列で異なる値を持つ要素を取得する
- 30. は、要素のすべてのサブ要素を取得しますが、私は次のHTML持っ
[ 'getEventListeners(文書)'](https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference ?utm_source = dcc&utm_medium =リダイレクト&utm_campaign = 2016q3#geteventlistenersオブジェクト)がこのトリックを行う可能性があります。これは、開発者のコンソールで動作しますが、これが.jsファイルで動作するかどうかはわかりません。 –
ありがとう、私はこの機能を知っていますが、それは単一の要素でのみ動作します。 ページ上のすべての要素が必要です。 domを再帰的にループして、各要素に対してこのメソッドを呼び出すことができます。 はるかに簡単な解決策がありますか? – marcobiedermann
イベントはどのようにバインドされていますか? '.on()'と '.off()'がどれくらい簡単に使用できるのか、そして名前空間を使って簡単に整理し、管理することがより簡単になるので、私は個人的にすべてのイベント管理にjQueryを使いたい。 – Turk