WooCommerce:
我有一些jQuery加载在document.ready上,影响数量输入框。效果很好。
我的问题是,当我更新购物车/删除项目时,jQuery需要再次运行,因为AJAX调用将其杀死(刷新它)。是否有一些我可以添加的钩子/过滤器会在购物车更新后重新运行我的脚本?我搜索过,找不到任何东西(或者我可能不知道我在寻找什么)。
谢谢!!!!
答案 0 :(得分:26)
WooCommerce脚本内置了多个custom events。您自己的脚本可以监听这些事件并在触发时运行您自己的代码。对你的情况最明显的可能是updated_cart_totals
,但updated_wc_div
也可能有帮助,我不确定没有测试。经过测试和工作。
$( document.body ).on( 'updated_cart_totals', function(){
//re-do your jquery
});
答案 1 :(得分:2)
在用户从购物车中删除商品后,我还需要运行一个函数,并且上述事件updated_cart_totals
或updated_wc_div
对我不起作用。
深入研究 Woocommerce 前端代码
[/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js]
我发现了这些事件:
$(document.body).on('added_to_cart removed_from_cart', do_magic);
这些工作就像一种魅力!
答案 2 :(得分:1)
就我而言,我必须添加以下内容:
<meta http-equiv='refresh' content='0.2 'name="viewport" content="width=device-width, initial-scale=1.0" >
因为我对js购物车提交进行了大规模定制