Остановить / уничтожить Magnific Popup в jQuery - PullRequest
0 голосов
/ 17 мая 2019

Я хочу, чтобы диалоговое окно magnificPopup не отображалось, когда я нажимаю кнопку и когда флажки не установлены.

Вот что я уже пробовал:

$('[id$=DeleteSelectedItems]').click(function (evt) {
  if ($("#datatable :checked").length == 0) {
    evt.preventDefault();
    $.magnificPopup.remove(); //prevent dialog popup if no checkbox selected
  }
});

Код вышеделать то, что я хочу, кроме $ .magnificPopup.remove ();не является допустимой функцией.

magnificPopup.remove i snot valid

Итак, хотя $ .magnificPopup.remove ();запрещает показ всплывающего окна (потому что это нарушает JavaScript!), это недопустимая функция, и я получаю сообщение об ошибке в своей консоли при тестировании этого.Я пробовал $ .magnificPopup.destroy ();и $ .magnificPopup.stop ();но они также недействительны.

Большое спасибо за любую помощь, которую вы можете оказать с этим!

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Спасибо за ваши ответы. В итоге я использовал $ .magnificPopup.close (); но, что важно, я поставил свой код после инициализации увеличенного всплывающего окна. Раньше у меня это было до инициализации. Глупая ошибка! Итак, мой рабочий jQuery:

// initialise magnific popup
$('.open-popup-link').magnificPopup({
   type: 'inline',
   midClick: true
});

//don't fire the delete button if no checkbox selected in table with id of datatable
$('[id$=DeleteSelectedItems]').click(function (evt) {
   if ($("#datatable :checked").length == 0) {
       evt.preventDefault();
       $.magnificPopup.close(); //prevent dialog popup if no checkbox selected
    }
}); 

Большое спасибо за то, что указали мне правильное направление! :)

1 голос
/ 17 мая 2019

Может evt.preventDefault (); достаточно, чтобы остановить отображение всплывающих окон, и вы можете удалить строку кода $ .magnificPopup.remove ();избегая таким образом ошибки в консоли.

...