jQuery、addEventListener、またはHTML属性(onload = "myFunc()"など)を使用してバインドされているかどうかにかかわらず、DOMがイベントハンドラーを追跡する方法を理解しようとしています。
jQueryが.data()メソッドを使用してjQueryによってバインドされたイベントハンドラーを格納することを読みました...しかし、他のものはどうですか?彼らはどこに行きますか?Webkitのインスペクターツールが[要素]タブの要素を検査することでイベントリスナーを表示することは知っていますが、その情報はどこで取得されますか?
ちなみに、ChromeのWebインスペクターを使用した一部のテストでは、コンソールを使用して、タグをプルすることでライブサイトのjQueryのバージョンを新しいバージョンに置き換え、変数と変数<script>
をオーバーライドしました。明らかに、新しい.data()インターフェースがプロセスに導入されたため、置換前にjQueryを使用してバインドされたイベントは失われました。jQuery
$
ただし、「失われた」ハンドラーは、イベントが発生したときに実際に呼び出されるため、特定のイベントにバインドされたままになります。それらを完全に削除したい場合、または自分のハンドラーで置き換えたい場合はどうでしょうか。これが、DOMが保持している場所で実際のハンドラーにアクセスする方法を知りたい理由です...そしてjQueryなしで。