olejkaok
@olejkaok

JS на добавленных блоках?

Здравствуйте.
У меня такая проблема.
Я добавляю блок с помощью JQuery append.
Как мне сделать так, чтобы на добавленных элементах работал уже готовый JQuery код?
Т.е. на элементах добавленных с помощью PHP при загрузке страницы он работает, а на добавленные с помощью JQuery уже нет.
  • Вопрос задан
  • 114 просмотров
Решения вопроса 2
Immortal_pony
@Immortal_pony Куратор тега JavaScript
Вешайте обработчик события на существующий элемент.
Вместо
$('.dynamic-element').on('something',  function(ev){ ... })

используйте
$(document).on('something', '.dynamic-element', function(ev){ ... })


$(document) - это стопроцентный вариант. Если есть какой-то другйо гарантированно существующий элемент поближе к нужному, то лучше на него повесить. Например:
$('.my-form').on('something', '.dynamic-element', function(ev){ ... })
Ответ написан
lamer350
@lamer350
กำลังสูงสุด
К сожалению мы не можем угадать какие вы манипуляции пытаетесь произвести над блоками после вставки.
Потому я первый выстрелю в небо:
Если вы пытаетесь отследить какое либо событие блока (click, change и тп) то вместо:
$( "#id-block" ).on( "click", function() { ... });
нужно использовать
$( "body" ).on( "click", "#id-block", function() { ... });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы