На дане питання вже відповіли:
Підкажіть зручний спосіб підвісити події на елемент після його динамічного додавання. Наприклад, після завантаження контенту через ajax.
Мені потрібно щоб відпрацьовував схожий на цей код: $ ( '. Colorbox'). Colorbox ();
Тобто мої події я прив'язую через $ (document) .on (). тому вони відпрацьовують. Події сторонніх плагінів реалізовані інакше, а тому не виконуються після динамічного завантаження контенту.
На даний момент використовую $ (document) .ajaxSuccess () для прив'язки подій сторонніх плагінів після завантаження контенту за допомогою ajax.
Мене цікавить, чи є більш елегантне рішення даної проблеми.
З таким запитанням задавали раніше і на нього вже отримано відповідь. Якщо представлені відповіді не є вичерпними, будь ласка, задайте нове питання.
Є кілька варіантів, як можна навісити подія на динамічний елемент.
Перше, це навішування обробника по якійсь події, тобто .:
Ще можна погратися з подіями DOM: DOM events.
jQuery працює з елементами, які були на сторінці на момент ініціалізації коду.
Якщо додаються нові елементи - за допомогою ajax'а або функцій типу append () - то події не зачіпають їх.
Як же працювати з новими створеними елементами DOM?
Виявляється для динамічних елементів використовується делегована обробка подій.
Якщо коротко, то сенс делегування в тому, що обробники "навішуються" нема на відсутні в dom елементи, а на існуючий батьківський об'єкт.
відповідь дан 26 Вересня '15 о 20:25
Спробуйте безпосередньо викликати:
jquery live вже застарів.
Краще використовувати on
jquery live ( 'click', callback) або on ( 'click', callback)