@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 функция выше не срабатывает.
Что это может быть? куда копать?
  • Вопрос задан
  • 4509 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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