Чтобы прояснить некоторые вещи о добавлении событий к элементам, которые динамически вводятся в DOM (то есть — они не существуют, когда страница загружена).
Методы лучшей практики
- Используйте .Bind () и .Live () вместо .Click () .
- Используйте .Bind () для статических элементов DOM (элементов, которые загружаются вместе со страницей).
- Используйте .Live () для динамических элементов DOM (элементы изменены / вставлены с помощью JavaScript).
пример
В этом примере это упорядоченный список, который появляется после загрузки файла JSON в инструмент. Затем событие наведения мыши было применено к каждому компоненту в DOM.
/*mouse IN hover to show path of node*/
$('#div li').live('mouseenter', function () {
//do something
});
/*click event for hyperlink*/
$('#div a').bind('click', function (e) {
//don't follow the hyperlink href
e.preventDefault();
//do something else
myFunction();
});
Другие параметры в реальном времени
Существует плагин оперативного запроса, который может обработать их для вас всего одним объявлением. LIVE QUERY PLUGIN: http://brandonaaron.net/code/livequery/demos Я напишу больше о плагине живых запросов, когда у меня будет возможность проверить его правильно и протестировать.
Также см .: Привязка к элементам с одинаковым идентификатором