У меня есть неупорядоченный список ссылок, которые я динамически добавляю в $ (document) .ready (). Я определяю обработчик для живого события click в добавляемой ссылке, но она не срабатывает. У меня сложилось впечатление, что использование live () поверх, скажем, click () означало, что обработчик событий присоединен к элементам, которые динамически добавляются в DOM. Вот листинг кода, чтобы проиллюстрировать мой запрос.
$(document).ready(function() {
$('.activities ul').each(function() {
appendAddTagLink($(this));
});
});
function appendAddTagLink(ulel) {
var thelink = $('<a>add</a>').attr('href', 'add');
thelink.live('click', function(ev) {
// Not getting here!
});
ulel.append($('<li></li>').append(thelink));
}
Я извлекаю тело кода в функцию, так как мне нужно использовать его пару раз. Странно то, что хотя обработчик live (), кажется, не прикрепляется к ссылке, последняя строка в функции (которая добавляет ссылку на элемент
, а затем на элемент работает нормально. Также я получаю нет ошибок синтаксиса JavaScript.