Свои скрипты после tagmanager2 ajax

Здравствуйте. На карточки товаров, на странице с выборкой tagmanager повешены несколько скриптов - одни классы при наведении меняют, другой открывает форму при заказе в 1 клик. Но после ajax фильтрации\пагинации\динамического изменения шаблона у карточек товаров - скрипты перестают работать. Как я понимаю, это происходит из-за перезагрузки\подгрузки новых dom элементов, которых не было при инициализации скрипта.
Хотя при увеличении лимита вывода на карточек товаров, допустим при загрузке страницы было 10 карточек после ajax запроса стало 20 (?limit=20), то на первых 10 карточках, которые были в момент загрузки страницы, скрипты так же не работают. Подскажите как можно заставить свои скрипты инициализироваться заново, после ajax запросов tagmanager?
Думал попробовать через всплытие события, повесить на ближайшего родителя или поиск элемента внутри родителя, но не хотелось бы подвязываться на родителя, так как карточки товаров присутствуют в разных блоках и на разных страницах сайта и менять классы нужно везде.
Может можно обвернуть инициализацию скриптов в callback из tagmanager? Допустим в документации описывается такой callback -

tm_onFilterAfter( total, pageCount, onPageLimit )

Тестирую его вот так:

function tm_onFilterAfter( total, pageCount, onPageLimit ){

    alert("1");

}

Но алерт не происходит.
Возможно есть более простой способ достичь работы своих скриптов после ajax?

Я добавлял свои фун-ии в success ajax'a. Файл assets/components/tag_manager2/js/web/filters.js блок "ajaxRequest (~814 строка)".

jQuery.ajax({
            url: tmFilters.config.base_url + tmFilters.config.ajax_url,
            type: "GET",
            cache: false,
            data: state_data,
            dataType: 'json',
            success: function(response) {
                if (typeof response.prod_list != 'pagination') {
                    $(tmFilters.config.products_cont).html( response.prod_list );

                    $('html,body').animate({
                        scrollTop: Math.round($(tmFilters.config.products_cont).position().top)
                    });
		    
                }
		
                if (typeof response.pages != 'undefined'){
                    $(tmFilters.config.pages_cont1).html( response.pages );
                    if ( tmFilters.config.pages_cont2.length > 0 ){
                        $(tmFilters.config.pages_cont2).html( response.pages );
                    }
                }
                
                tmFilters.ajaxPreload( $(tmFilters.config.products_cont), false );

                //tm_onFilterAfter
                if ( typeof tm_onFilterAfter == 'function' ) {
                    tm_onFilterAfter( response.total, response.pageCount, response.onPageLimit );
                }

                //СВОЯ ФУН-ИЯ
                my_function();
                

            },
            error: function(jqXHR,textStatus,errorThrown){
                if(typeof(console)!='undefined') console.log(jqXHR,textStatus,errorThrown);
            }
        });

@city-shafl Спасибо, попробую так, пока реализовал через всплытие на родителя

Но алерт не происходит.

Вот я делаю на демо сайте.

0_1522404980389_screenshot_023.png

После фильтрации получаю алерт.

0_1522404994994_screenshot_024.png

Так что проверьте где вы вставляете калбек функцию и нет ли там других точно таких же, которые её переопределяют.

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.