Задать вопрос
@Celery

Почему функция BX.addCustomEvent( 'onAjaxSuccess', function () не срабатывает с первого раза?

У меня в каталоге товаров реализовано меню по разделам и сам список товаров. Меню работает на ajax, страница не перезагружается. Типо фильтр по разделам.
Но я столкнулся с проблемой, что одна нужная функция setEqualHeight, которая задает высоту карточкам, не выполняется.
Решил эту проблему с помощью
BX.addCustomEvent( 'onAjaxSuccess' ,   function  () {
   setEqualHeight($(".catalog-categories .section_img"));
   setEqualHeight($(".product-thumb .image"));
   setEqualHeight($(".product-thumb .caption .name"));
   setEqualHeight($(".product-thumb .caption .element_regions"));
   setEqualHeight($(".product-thumb .caption .manufacturer"));
   setEqualHeight($(".product-thumb"));
});


Поставил в section.php
Но столкнулся с новой проблемой.
Если в каталоге обновить страницу ctrl+F5 и выбрать раздел меню, то с 1го раза данная функция не сработает. Карточка товара становится страшной сжатой по высоте.
Но выбрав новый раздел уже работает. Кеширование выключено.
Также в консоли вижу оповещание
Possible BX.Event.EventEmitter memory leak detected. 26 "ontoppanelcollapse" listeners added. Use emitter.setMaxListeners() to increase limit.


и все они ссылаются на этот addCustomEvent. И при каждом использовании меню на ajax таких оповещаний все больше.
Не знаю, может это не ошибка вовсе. Но проблема остается. При первом использовании ajax функция выше не срабатывает.
Что это может быть? куда копать?
  • Вопрос задан
  • 5361 просмотр
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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