如何将处理程序附加到动态加载的链接?

时间:2010-09-25 19:53:30

标签: javascript javascript-events prototypejs

如何将处理程序附加到链接的click事件,该事件是动态加载的,即仅在响应页面上的其他操作时加载?

N.B。我问如何使用Prototype JavaScript库来做到这一点,但也不会对JQuery中的其他示例产生负面影响。

在下面的代码中,链接位于动态加载的页面片段中:

$$('.alist').invoke('observe', 'click', function(event) {
  var clickedItem = event.findElement('a');
  if (clickedItem) {
    var href = clickedItem.readAttribute('href');
    new Ajax.Updater('detail', href, {
      method: 'get'
    });
  }
  event.stop();
});

2 个答案:

答案 0 :(得分:1)

jQuery:使用.live(http://api.jquery.com/live/

原型:没有直接的方法可以做.live,请参阅:Prototype equivalent for jQuery live function

答案 1 :(得分:0)

你应该在jQuery中使用.delegate()而不是.live() 见:http://brandonaaron.net/blog/2010/03/4/event-delegation-with-jquery