2

私は自分の問題に対する答えを見つけようとしましたが、成功しませんでした-答えが非常に明白な場合はお詫びします:)。これが私が解決しようとしている問題の前提です。

  • ネイティブイベントがアタッチされたUI要素(ボタン、ハイパーリンクなど)がたくさんあります(たとえば、リンクをクリックすると関数が実行されます)
  • これらのイベントリスナーにアクセスできません。また、呼び出す必要のある関数/ハンドラーもわかりません。
  • 次のような汎用関数を実行したいと思います。oDOMを介して横断し、ボタンやハイパーリンクなどのUI要素を見つけて、同じハンドラー/関数を実行する追加のリスナーをアタッチします(たとえば、「タッチエンド」リスナーをアタッチしたい「クリック」イベントと同じハンドラー/関数を実行します)

特定のUI要素に使用されているイベントハンドラーを何らかの方法で見つけて、.on()メソッドを介して同じハンドラーの新しいリスナーを追加する方法はありますか?

4

1 に答える 1

0

ひやあなたの悩みは少しオープンエンドですが、これがあなたの目的に役立つことを願っています:)

これを読んでください-JQueryについて知らないかもしれないこと= http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/

jQueryのイベントストレージを介して、要素(または任意のオブジェクト)にバインドされたすべてのイベントハンドラーにアクセスできます。

// List bound events:
console.dir( jQuery('#elem').data('events') );

// Log ALL handlers for ALL events:
jQuery.each($('#elem').data('events'), function(i, event){
    jQuery.each(event, function(i, handler){
        console.log( handler.toString() );
    });
});

// You can see the actual functions which will occur
// on certain events; great for debugging!

PS-私はあなたのDOMをもっとよく知ることをお勧めしますが、上記が役立つはずです。B-)

于 2012-07-17T11:09:09.777 に答える