Run jQuery after WooCommerce AJAX cart update

2020-02-09 08:48发布

WooCommerce:

I have some jQuery that loads on document.ready that effects the quantity input box. Works great.

My issue is that when I update the cart/delete item, the jQuery needs to run again because the AJAX call kills it (refreshes it). Is there some hook/filter I can add that will re-run my script again after a cart update? Ive searched and can't find anything (or maybe I'm not aware of what I am looking for).

Thank you!!!!

2条回答
劫难
2楼-- · 2020-02-09 09:05

The WooCommerce scripts have several custom events built in. Your own script can listen to these events and run your own code when they are triggered. The most obvious one for your case might be updated_cart_totals but updated_wc_div might also be helpful, I'm not sure without testing. Tested and works.

$( document.body ).on( 'updated_cart_totals', function(){
    //re-do your jquery
});
查看更多
SAY GOODBYE
3楼-- · 2020-02-09 09:10

I also needed to run a function after user removes item from cart, and the above events updated_cart_totals or updated_wc_div didn't work for me.

After digging into the Woocommerce frontend code

[/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js]

I found these events:

$(document.body).on('added_to_cart removed_from_cart', do_magic);

These worked like a charm!

查看更多
登录 后发表回答