Задать вопрос
@AndreyKuz
Интеграция сайта с 1с

Как убить Fancybox а!?

Кто знает помогите, код в catalog.element битрикс для перезапуска после ajax
аналогичный код для слайдера glide..js работает нормально:
let fancyboxInstance = null;

	document.addEventListener('DOMContentLoaded', function() {
		createOrUpdateFancybox();

	});

	BX.addCustomEvent("onAjaxSuccess", function() {
		createOrUpdateFancybox();
	});

function createOrUpdateFancybox() {
    const slElements = document.querySelectorAll('[data-fancybox]');
    const slExist = slElements.length > 0;

    if (!slExist) return; 

    if (fancyboxInstance) {
        fancyboxInstance.destroy(); 
    }

    fancyboxInstance = Fancybox.bind("[data-fancybox]");
}

BX пишет в консоли 'processing', TypeError: fancyboxInstance.destroy is not a function
close() тоже пробовал
  • Вопрос задан
  • 87 просмотров
Подписаться 2 Средний 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Фронтенд-разработчик
    11 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • SF Education
    Бизнес-аналитик
    11 месяцев
    Далее
Решения вопроса 1
@tgarl
А вы уверены что destroy есть у fancybox?
если в поиск забить то решение другое предлагают

$("a").unbind('fancybox').unbind('click');
или
$('a').unbind('click.fb');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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