1

click()関数を使用して jQuery クリック イベントを動的に追加しました。

$("#elementId").click(function() {
    debugger;
    //Some code
});

data 属性を使用してイベントを見つけることができることを認識しています。

$('#elementId').data("events");

しかし、それらを動的に見つけたい場合はどうすればよいでしょうか? 例えば

<div id="containerWithComplexStructure">
    //Some elements with .click events may be in here
</div>

id や class がわからない場合、どのようにそれらを見つけるのですか?

また、 Chrome 開発者ツールフレーム (または同様のツール)を介してそれらにアクセスし、それらの変数などを参照できますか?

これに似ています (画像をクリックして拡大):

ブレークポイントで停止した Chrome デベロッパー ツール ビュー http://imageshack.us/a/img138/1209/findclickfunction.png

単一の既知の要素については、次を参照してください: Firebug (または同様のツール) を使用して JavaScript/jQuery イベント バインディングをデバッグする方法

4

1 に答える 1

1

console.log( jQuery('#elementId').data('events') );コードで簡単に。

または単にjQuery('#elementId').data('events');コンソールで。

すべての要素のイベントを表示するには:

var elements_with_events = 0;
$('*').each(function(i,e){

    if($(e).data('events')){
        console.log( $(e) );
        console.log( $(e).data('events') );
        elements_with_events++;
    }

});
console.log( elements_with_events + ' elements have events.' );

...そしてクラッシュを待ちます。実際、これは驚くほど速く動作します。

イベントを添付するときにクラスを追加することもできます。次に、言うまでもなくイベントを検索するのではなく、クラスを検索します。

于 2012-09-20T14:01:07.993 に答える