Как не терять обработчик после AJAX-подгрузки

18.01.2020 · JavaScript

Как не терять обработчик после AJAX-подгрузки

После замены списка кнопки перестают отвечать на нажатия. Прямой обработчик остался на удалённых узлах. Для списка с постоянным контейнером удобнее делегировать событие.

$("#results").on("click", ".show-details", function( event ) {
    event.preventDefault();
    console.log( this.dataset.id );
});

Контейнер results должен существовать в момент подписки и переживать обновления. Не подписывайтесь заново после каждой загрузки: это даёт повторные вызовы. Заменяйте только его содержимое. Проверьте нажатие на иконку внутри кнопки и две последовательные подгрузки.

Назад в блог

От идеи —
к первому шагу.

Расскажите, что хотите создать.
Обсудим задачу и наметим следующий шаг.