Я сам прошел через эту проблему. Вновь загруженный HTML через Ajax должен быть подключен к обработчикам событий, даже если он заменяет существующие элементы DOM. Для этого вы должны включить в свой AJAX-результат, чтобы установить обработчик для всех отображаемых элементов, чувствительных к событиям.
Так, например, если ваш AJAX-вызов возвращает
$ajaxresult = '<button class="bookbtn" id="bookbtn" type="button" >Book</button>';
Вам нужно добавить
$ajaxresult .= '<script>$("#bookbtn").on("click",function(){doit($(this))});</script>'."\n";
Однако, исследуя эту проблему только сейчас, я прочитал следующее в http://api.jquery.com/on/:
Обработчики событий связаны только с выбранными в данный момент элементами; Oни
должен существовать в тот момент, когда ваш код вызывает .on (). Для обеспечения
элементы присутствуют и могут быть выбраны, разместите сценарии после
элементы в разметке HTML или выполнить привязку событий внутри документа
готовый обработчик. В качестве альтернативы, используйте делегированные события, чтобы прикрепить событие
обработчики.
Делегированные события имеют то преимущество, что они могут обрабатывать события из
элементы-потомки, которые добавляются в документ позднее. От
выбрать элемент, который гарантированно будет присутствовать во время
делегированный обработчик событий прикреплен, вы можете использовать делегированные события для
Избегайте необходимости часто подключать и удалять обработчики событий. это
элемент может быть контейнерным элементом представления в
Дизайн Model-View-Controller, например, или документ, если событие
Обработчик хочет отслеживать все всплывающие события в документе.
элемент документа доступен в заголовке документа до
загружая любой другой HTML-код, поэтому безопасно прикреплять туда события без
в ожидании готовности документа.
В дополнение к их способности обрабатывать события на дочерних элементах
еще не создано, еще одним преимуществом делегированных событий является их
потенциал для гораздо меньших накладных расходов, когда много элементов должно быть
мониторинг. В этом примере для таблицы данных с 1000 строк в теле
прикрепляет обработчик к 1000 элементам: ...