Динамически вставленные элементы DOM недоступны для нажатия, используя $ .click () - PullRequest
1 голос
/ 10 марта 2010

Я использую jQuery, чтобы взять значение элемента формы и поместить его в тег элемента списка. Максимальное значение - три элемента списка (они должны стать тегами для изображения).

Проблема в том, что я хочу, чтобы люди могли удалять любые ошибочные теги, которые они ввели, щелкая по ним, но элементы (которые динамически вставляются в тег

Ответы [ 3 ]

4 голосов
/ 10 марта 2010

Я думаю, что вы ищете живой метод: http://api.jquery.com/live/

Возможно, вы могли бы сделать что-то вроде

$('li.tag').live('click', function() { /* Do stuff here */ });
1 голос
/ 10 марта 2010

Используйте плагин live или liveQuery.

0 голосов
/ 25 января 2014

Как упоминает @vmassuchetto, поскольку jQuery 1.7 .live () устарел и полностью удален в 1.9. Теперь вы должны использовать .on (). Вот так:

$('li').on('click', '.tag', function() {
    ...
});

http://api.jquery.com/on/

«Делегированные события имеют то преимущество, что они могут обрабатывать события из элементы-потомки, которые добавляются в документ позднее. От выбрать элемент, который гарантированно будет присутствовать во время делегированный обработчик событий прикреплен, вы можете использовать делегированные события для Избегайте необходимости часто подключать и удалять обработчики событий. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...