@hoindex

Как из js закрыть модальное окно fancybox 4?

Всем доброго дня!
Есть страница отзывов, при логина администратором под каждым отзывом выводится кнопка Ответить на отзыв
<button data-fancybox data-src="#answer_on_review_form" data-review-id="123" class="btn answer_on_review">Ответить на отзыв</button>

На странице лежит скрытый блок с формой внутри
<div id="answer_on_review_form" class="pop_c" style="display: none">
<form>
.......
</form>
</div>


На onsubmit формы через js происходит валидация и отправка данных на сервер через ajax.
На success ответ нужно закрыть текущее окно с формой и обновить область ответа на отзыв.
Застопорился на закрытии окна...
$.fancybox.close();
$(this).fancybox.close();
parent.$.fn.fancybox.close();
$('answer_on_review_form').fancybox.close();
parent.$('body').fancybox.close();
$('body').fancybox.close();

В консоли всегда
Uncaught TypeError: Cannot read properties of undefined (reading 'close')

Как закрыть окно открытое таким образом?
Используется библиотека fancybox.umd.js @fancyapps/ui/Fancybox v4.0.26
  • Вопрос задан
  • 653 просмотра
Решения вопроса 1
@hoindex Автор вопроса
Таки нашел решений, сам, случайно...
Fancybox.close();
Регистр оказывается имеет значение, возможно это фича 4-й версии.
Кроме того, в моём случае больше подошел метод Fancybox.destroy()
Fancybox.close() оставлял после закрытия окна темный оверлей.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Francis_molodec
@Francis_molodec
Я могучий
$.fancybox.close();
Ответ написан
Ваш ответ на вопрос

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

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