2

我试图找到我的问题的答案,但没有成功 - 如果答案非常明显,我深表歉意:)。这是我要解决的问题的前提。

  • 我有很多带有原生事件的 UI 元素(按钮、超链接等)(例如,单击链接执行功能)
  • 我无权访问这些事件侦听器,也不知道需要调用哪些函数/处理程序
  • 我想做一个通用函数,它会: o 横穿 DOM,找到 UI 元素,如按钮或超链接,并附加额外的侦听器来执行相同的处理程序/函数(例如,我想附加“touchend”侦听器将执行与“click”事件相同的处理程序/函数)

有没有办法让我以某种方式找出用于特定 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 回答