Для каждого <a>
, который имеет класс mfp-ajax
, будет выполнен как всплывающее окно, и в этом всплывающем окне используется плагин в Magnific-Popup.Ошибка обратного вызова Magnific-Popup не выполняется
HTML:
<a href="/target" class="mfp-ajax multiselect-modal">View List</a>
Javascript:
magnificSetting: {
type: 'ajax',
mainClass: 'mfp-fade',
ajax: {
settings: {
cache: false
}
}
},
modals: function() {
var self = this;
$('a.mfp-ajax').each(function() {
var $this = $(this);
$this.magnificPopup(self.settings.magnificSetting);
});
}
Коды работает отлично, однако <a>
иногда генерируется динамически в DOM, и я должен создать отдельный скрипт для Magnific -Подключение обратных вызовов. Так что я сделал, я следовал тому, что в документации, смотрите коды ниже:
$(document).on('mfpClose', '.multiselect-modal', function() {
console.log('test');
});
Я попробовал этот код, но это не получает казнены, как я придаю это элемент, который генерируется динамически DOM, и когда всплывающее окно открывается и пользователь закрывает его, он перейдет к вышеуказанному коду. Я что-то упустил?
как насчет для close' там каждый экземпляр ' это конкретные коды, это может зависеть от того, что модальное использование? Например, первые модальные функции закрытия обнаруживают некоторые элементы в DOM, затем инициализируют его; вторая модальная функция закрытия обнаруживает, что некоторые элементы в DOM ang получают свои значения. – rpmansion
Вы можете назначить некоторые уникальные атрибуты данных для своих всплывающих окон и в зависимости от этого условного кода запуска. Посмотрите [это] (http://stackoverflow.com/questions/16885863/magnific-popup-get-current-element-in-callback) как получить исходный объект DOM, чтобы вы могли запускать почти весь метод jquery/dom на нем – Viney
Я смог заставить его работать, спасибо :) – rpmansion