> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: onCartChange(handler: onCartChangeHandler) # Method package: wixEcomFrontend # Method menu location: wixEcomFrontend --> onCartChange # Method Link: https://dev.wix.com/docs/velo/apis/wix-ecom-frontend/on-cart-change.md # Method Description: Triggered when a cart changes. Triggered when: + A cart is modified by native UI elements such as the 'Add to Cart' button, increase (+) and decrease (-) item quantity buttons, remove line item button (x), etc. + The `refreshCart()` method is called. > **Note:** Actions performed by any method other than `refreshCart()` don't trigger `onCartChange()`. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Add an event handler for cart changes ```javascript import wixEcomFrontend from 'wix-ecom-frontend'; import wixEcomBackend from 'wix-ecom-backend'; $w.onReady(function () { // handler function that gets the current cart on cart change const handler = () => { // The wixEcomBackend.currentCart module is universal. // You can call its methods in frontend and backend code. wixEcomBackend.currentCart.getCurrentCart() .then(cart => { let cartId = cart._id; console.log('cart ID: ', cartId); }) .catch(error => { console.error(error); // Handle the error }); }; wixEcomFrontend.onCartChange(handler); }); ``` ---