Javascript jQuery库在Ajax之后未触发

Javascript jQuery库在Ajax之后未触发,javascript,jquery,ajax,magnific-popup,Javascript,Jquery,Ajax,Magnific Popup,我使用的是jQuery弹出脚本。它在WooCommerce商店中运行良好,但当我使用Ajax过滤器插件()过滤产品时,它会停止触发。我理解这是因为Ajax改变了页面,因此事件不再绑定到页面中的链接类,但不确定如何解决它 从我所读到的,我可以使用,但我不确定这如何适用于我触发下面的放大弹出脚本的方式 jQuery('.product').magnificPopup({ type:'inline', midClick: true, gallery:{ enab

我使用的是jQuery弹出脚本。它在WooCommerce商店中运行良好,但当我使用Ajax过滤器插件()过滤产品时,它会停止触发。我理解这是因为Ajax改变了页面,因此事件不再绑定到页面中的链接类,但不确定如何解决它

从我所读到的,我可以使用,但我不确定这如何适用于我触发下面的放大弹出脚本的方式

jQuery('.product').magnificPopup({
    type:'inline',
    midClick: true,
    gallery:{
        enabled:false
    },
    delegate: 'a.wpb_wl_preview',
    removalDelay: 500, //delay removal by X to allow out-animation
    callbacks: {
        beforeOpen: function() {
           this.st.mainClass = this.st.el.attr('data-effect');
        }
    },
    closeOnContentClick: false,
});

谢谢大家。我发现有一个jQuery函数可以检测何时执行了Ajax,如下所示。不确定这是否是最好的方法,所以有兴趣看到其他答案,但这是有效的

jQuery(document).ajaxSuccess(function() {

 //code to trigger here

});

我不知道Magnific,但试着只更改应用它的元素,将它放在DOM树的上面。。。将其添加到一个在ajax调用时不会更改的元素中。或者您可以在每次ajax调用结束时重新运行此代码。您好,谢谢您的回复。它是一个产品列表,随着过滤器的变化而变化,因此大部分页面都发生了变化。弹出窗口的触发器位于列表中的每个产品上。我将查看是否有方法重新运行代码。您可以尝试将事件附加到父dom$('parent')。在('click','dynamic elementclass',fn)上;是的,这就是我所建议的,但是您也可以使用ajax调用的成功回调,这样您的代码就不会运行每个ajax调用,而是只运行正确的调用。谢谢。我该怎么做呢?我想我需要深入研究进行Ajax调用的Wordpress插件,并在其中添加一个代码片段。是的,如果你没有自己的代码,这将有点困难。。。我建议您阅读有关参数函数的文档,以便可以对请求进行测试,以确保仅在需要时运行代码。另外,请注意,文档没有说明哪个处理程序将首先运行(您的插件的还是这个),这可能会有问题