我正在使用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); –