Thank you for waiting and for sharing the links.
I apologize for the delay in getting back on this, as we had an unusually busy forum queue over the weekend.
I've checked the source code of the pages that you've shared and I've found a number of custom scripts that are set to execute when the page loading completes, i.e. on the 'ready' event.
For example:
(function($) {
$( document ).ready(function() {
// code to add some changes to page/DOM elements
});
});
But when the search form or results are updated through AJAX, the DOM or page's elements are reloaded and are now different from the elements which are were originally loaded when the page loaded. So any functions that your custom script had attached to them on the page load, will no longer work on the newly loaded elements.
So it is not that your custom jQuery events or event listeners are getting removed on AJAX. It is just that after the AJAX, the DOM/page's content elements are replaced with new ones, which is why your previous event listeners can no longer recognize or associate with them.
To overcome this, you'll have to restructure your custom jQuery scripts so that they are not only executed on the 'ready' (page load) event but also when Toolset completes the AJAX requests.
For example:
(function($) {
$( document ).on( 'ready js_event_wpv_pagination_completed js_event_wpv_parametric_search_form_updated js_event_wpv_parametric_search_results_updated', function( event, data ) {
// code to add some changes to page/DOM elements
});
});
In this second example, I've updated the code from the first example, to not only execute when the page loading completes ('ready' event) but also when the pagination completes ('js_event_wpv_pagination_completed' event), the search form is updated ('js_event_wpv_parametric_search_form_updated' event) and the search results are updated ('js_event_wpv_parametric_search_results_updated' event).
I hope this explanation will make this clearer and let me know if you have any follow up questions.