Как прикрепить обработчик к ссылке, которая динамически загружается? - PullRequest
1 голос
/ 25 сентября 2010

Как мне прикрепить обработчик к событию щелчка ссылки, которая динамически загружается, т.е. загружается только в ответ на другое действие на странице?

NB Я спрашиваю, как это сделать, используябиблиотека прототипов 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 ]

1 голос
/ 26 сентября 2010

jQuery: используйте .live (http://api.jquery.com/live/)

Прототип: прямого способа сделать .live нет, см .: Эквивалент прототипа для живой функции jQuery

0 голосов
/ 26 сентября 2010

Вы действительно должны использовать .delegate (), а не .live () в jQuery
, см .: http://brandonaaron.net/blog/2010/03/4/event-delegation-with-jquery

...