イベントバインドされたページ上のすべての要素を取得する方法はありますか。 私はすべてのイベントを特定のイベントにすることができると知っていますが、すべての要素がある方法はありますか?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 - 複数の値を持つ要素を取得する
- 2. Javascript。 aria-labelですべての要素を取得する
- 3. 親要素に対して特定のクラスを持つすべての要素のインデックスを取得する
- 4. javascriptでセレンのクラス名を持つ要素のリストを取得
- 5. JavaScript Elementtree特定の要素間のすべての要素を取得
- 6. 要素が「同じ」クラスを直列に持つ次の要素をすべて取得する
- 7. 2つのクラスを持つ要素を取得するasp.net MVC
- 8. 関連するすべてのjavascriptをhtml要素に取得する方法
- 9. 1つの要素内の要素からデータを取得する方法 - Javascript
- 10. 少なくとも1つの属性を持つすべての要素を取得するXpath
- 11. Javascript - 要素を取得する
- 12. JavaScriptでDOM要素を取得する
- 13. 親要素を取得するjavascript
- 14. 特定のクラスを持つ要素を取得する
- 15. 特定のデータを持つ要素を取得する*
- 16. 、他の要素を含む2つの要素間のすべての要素を取得した値とGroovy
- 17. python lxml:子要素を持つ要素からテキストを取得する方法
- 18. SQL - すべての最初の要素で共有される2番目の要素を持つすべてのタプルを取得します。
- 19. PHP DOMDocument属性と値を持つ要素を取得する
- 20. itemscontrolからkeyboardFocusを持つUI要素を取得する
- 21. lxml:特定の子要素を持つ要素を取得しますか?
- 22. Immutable.js 2つのキー間のすべての要素を取得する
- 23. オブジェクトのリストからすべての要素を取得する
- 24. ArrayAdapterのすべての要素を取得する方法は?
- 25. iFrame内のすべての要素を取得する
- 26. wso2ESBのすべての要素URLを取得する方法
- 27. CoffeeScriptの配列から2つの要素をすべて取得する
- 28. 特定のデータを持つすべてのtextarea要素を取得するためのJQuery
- 29. jqueryで特定のIDを持つすべての要素のクラスを取得する方法
- 30. LINQからXMLへの特定の属性を持つすべての要素を取得する
[ '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