добавление событий нажатия jQuery к динамически добавляемому контенту

dict2 = dict1 не копирует словарь. Это просто дает программисту второй способ (dict2) ссылаться на тот же словарь.

15
задан peirix 12 May 2009 в 12:16
поделиться

3 ответа

Вы хотите использовать живые события , которые были представлены в 1.3.

$("tr.clickable").live("click", function() {
   //add input fields
});

$("span#addNewRow").live("click", function() {
   $("table").append('<tr><td class="clickable"></td> ... </tr>')
});

ОБНОВЛЕНИЕ: Обратите внимание, что с jQuery 1.7, live () устарела. Вместо этого используйте на () . А в некоторых случаях delegate () может быть лучшим выбором. См. Комментарии ниже.

Пример использования .on () :

$("table").on("click", "tr.clickable", function() {
   //add input fields
});
28
ответ дан 1 December 2019 в 01:17
поделиться

Используйте обработчик событий live . Он не обрабатывает все события, но обрабатывает событие щелчка. Обработчик будет привязан ко всем текущим и будущим элементам, которые соответствуют селектору.

$('tr.clickable').live( 'click', function() {
   ...
});
0
ответ дан 1 December 2019 в 01:17
поделиться

Вам нужно будет добавить слушателей событий после вставки элементов.

Если вы используете JQuery, вы можете использовать библиотеку jQuery livequery , которая позволяет вам добавлять событий для элементов, которых еще нет в домене, так что вам не нужно повторно связывать события, когда вы вставляете что-то новое в дом.

0
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: