在WooCommerce AJAX购物车更新后运行jQuery

时间:2016-09-03 23:58:17

标签: wordpress woocommerce

WooCommerce:

我有一些jQuery加载在document.ready上,影响数量输入框。效果很好。

我的问题是,当我更新购物车/删除项目时,jQuery需要再次运行,因为AJAX调用将其杀死(刷新它)。是否有一些我可以添加的钩子/过滤器会在购物车更新后重新运行我的脚本?我搜索过,找不到任何东西(或者我可能不知道我在寻找什么)。

谢谢!!!!

3 个答案:

答案 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_totalsupdated_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购物车提交进行了大规模定制