調べてみると、jQuery がイベントをキャッシュするのは、メモリ オーバーフローを防止し、ページのアンロードを高速化するためでもあります。詳細については、この記事を参照してください。 。
jQuery は、window.unload 中にすべてのバインドされたイベントをアンロードし、メモリを解放します。
さて、本題に取り掛かりましょう。イベントが要素にバインドされているかどうかを確認するには、次のステートメントを使用します
jQuery .data(elem,"events")[type] //古いバージョンも使用可能
$(elem).data("events")[type] //のみ使用可能1.2.3 以降で使用されます
戻り値:
for in を使用してトラバースできるオブジェクト。または未定義。
パラメータ:
elem は DOM オブジェクト、type はイベント タイプです。
例:
クリック イベントが ID foo の要素にバインドされているかどうかを確認します
if( $("#foo").data("events")["click"] ){
//コード
}