Как отловить событие mFilter2
Ребят, подскажите как отловить событие срабатывания фильтра и сортировки mFilter2.
Проблема в том, что использую разметку masonry и после срабатывания mFilter2 верстка падает, поэтому необходимо заново инициировать masonry.
Наверное можно отлавнивать изменение класса «loading» в теге с #mse2_mfilter, но правильнее получиться событие завершения фильтрации и после запустить masonry.
Иван подсказал решение:
Вставить в конец шаблона
Проблема в том, что использую разметку masonry и после срабатывания mFilter2 верстка падает, поэтому необходимо заново инициировать masonry.
Наверное можно отлавнивать изменение класса «loading» в теге с #mse2_mfilter, но правильнее получиться событие завершения фильтрации и после запустить masonry.
Иван подсказал решение:
Вставить в конец шаблона
{$_modx->regClientScript('
<script>
mSearch2.defaultBeforeLoad = mSearch2.beforeLoad;
mSearch2.defaultAfterLoad = mSearch2.afterLoad;
mSearch2.beforeLoad = function() {
mSearch2.defaultBeforeLoad();
this.filters.css({
opacity: .5,
pointerEvents: "none",
});
};
mSearch2.afterLoad = function() {
mSearch2.defaultAfterLoad();
this.filters.css({
opacity: 1,
pointerEvents: "auto",
});
};
</script>
', true)}
А дальше по аналогии доработать Комментарии: 1
$(document).on('mse2_load', function(e, data) {
console.log(e, data);
});
вот по идее когда пришел ответ, вот и инициализируйте в нем
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.