{"_id":"560b0a11afa0990d0097952a","project":"55a6e72e8cc73e0d00096635","parentDoc":null,"user":"55a6caa022cfa321008e01d6","category":{"_id":"58105f548a4aed0f00d67536","__v":0,"project":"55a6e72e8cc73e0d00096635","version":"55a6e72f8cc73e0d00096638","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-10-26T07:46:28.684Z","from_sync":false,"order":11,"slug":"event-hooks","title":"Event Hooks"},"__v":3,"version":{"_id":"55a6e72f8cc73e0d00096638","project":"55a6e72e8cc73e0d00096635","hasReference":false,"__v":29,"hasDoc":true,"createdAt":"2015-07-15T23:05:19.125Z","releaseDate":"2015-07-15T23:05:19.125Z","categories":["55a6e7308cc73e0d00096639","55b7ed07aea7c8190058badb","5604567c0c78b00d0039b191","5605e6f23a93940d002b3e4a","5605f2bba4574a0d00811365","5605f309a4574a0d00811366","5608e3b98aedf50d0004cf8f","5608e4318aedf50d0004cf90","5608e6b5a7cc2f0d00d9754d","5608e6d331beb60d001b6560","5608f879a7cc2f0d00d97580","560b097887b71d0d000d3bd9","560b13cbafa0990d00979545","560b5cbec341310d00de2a01","560b5cd0c341310d00de2a02","566a35b81e08750d00a0c49b","566a3e8503b4b20d00d02a4a","567889d307bf6a0d0083edc8","569c8b7c15bb390d00db6f9d","56b254dc65ddf50d0076ba8f","57a8ebc4cdeea20e001d2a63","57e48a4000c8680e00fae6e7","5808216773557d0f00a1e428","58105ad54a8aa50f00aa4cba","58105bf298aea40f00afa3ba","58105f548a4aed0f00d67536","581061b898aea40f00afa3be","584b3de7e5f3a42300df6ef7","596839a75965d400155bb750"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-09-29T22:00:49.374Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":2,"body":"[block:html]\n{\n  \"html\": \"<A NAME=\\\"remote-ex-2\\\"></a>In the following code snippet from a Stencil theme, note the data tag named <span class=\\\"inline-code\\\">data‑cart‑item‑add</span>:<br>\\n\\n<p></p>\\n<pre>\\n&lt;form class=\\\"form\\\" method=\\\"post\\\" action=\\\"{{product.cart_url}}\\\"\\n    enctype=\\\"multipart/form-data\\\" data-cart-item-add&gt;</pre>\\n\\n\\nThis data tag enables the emission of the <span class=\\\"inline-code\\\">cart‑item‑add</span> event in this next snippet:<br>\\n\\n<p></p><pre>/*  \\n * Import all product-specific js \\n */\\n[...]\\nimport utils from ':::at:::bigcommerce/stencil-utils';\\n[...]\\naddProductToCart() {\\n    utils.hooks.on('cart-item-add', (event) =&gt; {\\n        event.preventDefault();\\n    });\\n}</pre>\\n\\n\\nA theme could listen for the <span class=\\\"inline-code\\\">cart‑item‑add</span> event to override the default form-submit behavior.\"\n}\n[/block]","excerpt":"Using Event Hooks","slug":"hook-example-2-cart-dialog","type":"basic","title":"Hook Example 2: Cart Dialog"}

Hook Example 2: Cart Dialog

Using Event Hooks

[block:html] { "html": "<A NAME=\"remote-ex-2\"></a>In the following code snippet from a Stencil theme, note the data tag named <span class=\"inline-code\">data‑cart‑item‑add</span>:<br>\n\n<p></p>\n<pre>\n&lt;form class=\"form\" method=\"post\" action=\"{{product.cart_url}}\"\n enctype=\"multipart/form-data\" data-cart-item-add&gt;</pre>\n\n\nThis data tag enables the emission of the <span class=\"inline-code\">cart‑item‑add</span> event in this next snippet:<br>\n\n<p></p><pre>/* \n * Import all product-specific js \n */\n[...]\nimport utils from '@bigcommerce/stencil-utils';\n[...]\naddProductToCart() {\n utils.hooks.on('cart-item-add', (event) =&gt; {\n event.preventDefault();\n });\n}</pre>\n\n\nA theme could listen for the <span class=\"inline-code\">cart‑item‑add</span> event to override the default form-submit behavior." } [/block]