@Diversia

Что нужно сделать, чтобы срабатывали функции и плагины jquery для динамически добавленных элементов?

В шаблоне сайта подключаю файл common.js, в котором много функций. Например, одна из которых:
$('.open-popup-ajax').magnificPopup({
		type:'ajax',
		midClick: true,
		mainClass: 'my-mfp-zoom-in',
		overflowY: 'scroll',
		tLoading: 'Загрузка...',
	});


По клику на a.open-popup-ajax на загруженной странице все срабатывает. Но, если динамически добавить элемент через append(), то эта функция уже не работает. Подскажите пожалуйста чайнику, как поступают в этих ситуациях? Как для динамически добавленных элементов наследовать возможность использования функций.
  • Вопрос задан
  • 219 просмотров
Пригласить эксперта
Ответы на вопрос 2
mosesfender
@mosesfender
Меланхолик, параноик, падал с коек
Это инициализация плагина для элементов с селектором .open-popup-ajax. Стало быть, нужно либо в $.ajax.done() инициализировать плагин на вновь создаваемых элементах, либо попробовать делегировать документу. Но и тогда придётся толкать документ на инициализацию.

Короче, после добавления элемента, делай то же самое:

$($(<что-то там>).append(<чтототам>)).magnificPopup({
    type:'ajax',
    midClick: true,
    mainClass: 'my-mfp-zoom-in',
    overflowY: 'scroll',
    tLoading: 'Загрузка...',
  });
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы