Применять события к динамически загружаемым элементам
Допустим ко всем картинкам с классом .preview-image
было повешано событие:
$(".preview-image").on("click", function(e){ // выполнение кода при нажатии на картинку });
Когда добавляется ещё одна картинка .preview-image
через JavaScript, то при нажатии на новую картинку, код выполняться не будет, т.к. на новой картинке не повешано события клика.
Пример кода: http://jsfiddle.net/yow7hwr0/
Чтобы на новых картинках, добавленных через JavaScript, также было повешано событие клика, код выше надо выполнить следующим образом:
$("#images").on("click", ".preview-image", function(e){ // выполнение кода при нажатии на картинку });
Т.е. в контейнере с ид #images
будет отслеживаться событие клика по любой картинке .preview-image
, даже добавленных через JavaScript.
Пример кода: http://jsfiddle.net/yow7hwr0/1/
Метод live()
был удалён с версии jQuery 1.9.
Поддержать автора