Как мне прикрепить события к динамическим HTML-элементам с помощью jQuery? [Дубликат]

  • Соединение используется для отражения отношений сущности
  • , где предложение фильтрует результаты вниз.

Таким образом, предложения join являются «статическими» (если только отношения сущностей не изменяются), в то время как предложения where являются специфичными для конкретного случая.

504
задан daaawx 28 April 2019 в 06:53
поделиться

5 ответов

После jQuery 1.7 предпочтительными методами являются .on () и .off ()

Ответ Шона показывает пример.

Теперь не рекомендуется:

Используйте функции jQuery .live () и .die () . Доступно в jQuery 1.3.x

Из документации:

Для отображения текста каждого абзаца в окно предупреждения при каждом нажатии:

 $ ("p"). live ("click", function () {
 alert ($ (это) .text ());
});

Кроме того, плагин livequery делает это и поддерживает больше событий.

36
ответ дан 22 November 2019 в 22:29
поделиться

Если вы используете jQuery 1.3+, используйте. live ()

Привязывает обработчик к событию (например, щелкните) для всех текущих и будущих - согласованный элемент. Также можно привязать пользовательские события.

1
ответ дан 22 November 2019 в 22:29
поделиться

Если вы добавляете кучу якорей в DOM, лучше изучите делегирование событий.

Вот простой пример:

$('#somecontainer').click(function(e) {   
  var $target = $(e.target);   
  if ($target.hasClass("myclass")) {
    // do something
  }
});
6
ответ дан 22 November 2019 в 22:29
поделиться

Привязывает обработчик к событию (например, щелчку) для всех текущих и будущих совпадающих элементов. Также может связывать пользовательские события.

текст ссылки

$(function(){
    $(".myclass").live("click", function() {
        // do something
    });
});
3
ответ дан 22 November 2019 в 22:29
поделиться

Вы хотите использовать функцию live () . См. документацию .

Например:

$("#anchor1").live("click", function() {
    $("#anchor1").append('<a class="myclass" href="#">test4</a>');
});
1
ответ дан 22 November 2019 в 22:29
поделиться
Другие вопросы по тегам:

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