jQuery函数需要在更新发货选项后,在结帐页面上,通过ajax调用初始化,并触发Woocommerce自定义事件updated_shipping_method
。
我的jQuery代码段设置为侦听此事件 - 但这没有按预期运行。
jQuery( document.body ).on( 'updated_shipping_method', function(){
// Code stuffs
// has the function initialized after the event trigger?
console.log('on updated_shipping_method: function fired');
});
我也尝试了updated_wc_div
自定义事件,但无济于事。
我在购物车页面上使用类似的方法,几乎是逐字逐句地侦听updated_cart_totals
的自定义事件触发器,并且效果很好。不知道为什么结帐页面不是这种情况。
正确的自定义事件:updated_checkout
有问题的代码片段正在侦听不正确的Woocommerce自定义事件。
在这种情况下,要侦听的正确自定义事件是 updated_checkout
。
选择新的运输方式时,Woocommerce会触发ajax调用以更新购物车总数以反映所选运输方式的价格,然后触发updated_checkout
。
因此,如果updated_checkout
被监听,而不是updated_shipping_method
,脚本将按预期触发。