我正在使用jQuery弹出脚本Magnific Popup。它在WooCommerce商店中运行良好,但是当我使用Ajax Filter Plugin(YITH)过滤产品时,它会停止触发。我知道这是因为Ajax已经改变了页面,所以事件不再绑定到页面中的链接类,但不知道如何解决它。jQuery图库不会在Ajax后触发
从我读过的东西我可以使用on,但我不确定这是如何适用于我触发下面的Magnific Popup脚本的方式。
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,
});
我不知道Magnific酒店,但要尽量只是改变在其应用它的元素,把它上面的DOM树......它添加到其将不会在Ajax调用修改的元素。或者您可以简单地在每个Ajax调用结束时重新运行此代码。 – Salketer
嗨,感谢您的回复。它是一个随过滤器而变化的产品列表,因此大部分页面都会更改。弹出窗口的触发器位于列表中的每个产品上。我会看看是否有重新运行代码的方法。 – user1837290
你可以尝试的是将事件附加到父dom $('parent')。on('click','dynamic elementclass',fn); –