2014-10-09 9 views
0

В настоящее время я использую MagnificPopup для формы «редактирования». Эта форма позволяет пользователю редактировать строку. После того, как пользователь выполнит редактирование, он заменяет эту строку обновленным контентом.jQuery Magnific Popup и .on

В этом обновленном контенте есть кнопка «Изменить», которая снова откроет форму редактирования.

Проблема, с которой я столкнулся, заключается в том, что после редактирования элемента при нажатии кнопки редактирования на том же элементе он не открывает форму из-за того, что ссылка «редактировать» теперь является динамическим контентом.

Вот код, я имею в виду, что открывает всплывающее окно:

$('.simple-ajax-popup').magnificPopup({ 
    type: 'ajax' 
}); 

Есть ли способ, чтобы заменить это с помощью .on так, что он работает должным образом? Что-то в этих строках:

$(document).on('magnificPopup', '.simple-ajax-popup', function (e) { 
    type: 'ajax' 
}); 

Я не могу понять, как использовать его здесь.

Ближайший я могу найти в документации этот бит кода, который немного непонятно мне:

$('.image-link').on('mfpOpen', function(e /*, params */) { 
    console.log('Popup opened', $.magnificPopup.instance); 
}); 

ответ

1

Фигурные это!

$(document).on('click', '.simple-ajax-popup', function (e) { 

    e.preventDefault(); 

    $.magnificPopup.open({ 
     items: { 
      src: $(this).attr('href') 
     }, 
     type: 'ajax' 
    }); 

});