Custom JavaScript events
Advanced
We do not support code customizations. This guide offers a basic reference for advanced users familiar with HTML and CSS. Always test code changes on a duplicated, unpublished version of your theme. For assistance, we recommend finding a professional developer through Shopify Experts ↗ or Task Husky ↗.
For Spark, we've introduced custom events so developers can easily add their own functionality to the theme without needing to edit the theme's JavaScript files.
Use the custom-events.js
file included in the theme to add all your custom scripts in one place and effortlessly hook into Spark's JavaScript.
For intermediate developers, Spark also includes an unminified**theme.js
** file that can be enabled to edit the theme JavaScript directly.
Enable custom events
To enable custom events, you need to update the theme-globals.liquid
to import the custom-events.js
file that you'll be using for your scripts.
Add scripts to custom-events.js
Once you've enabled custom events, you can start adding your custom scripts to the custom-events.js
file.
Use exposed events
We've listed all exposed events within the custom-events.js
file so you can easily use and edit them there.
The following exposed events are available to use as a blueprint to get started:
Item added to cart
This event fires when an item is added to the cart. The AJAX cart must be enabled for this event to be exposed. The product object is passed within the detail object.
Cart updated
This event fires when the cart has been updated. The AJAX cart must be enabled for the event to be exposed. The cart object is passed within the detail object.
Cart error
This event fires when an error occurs with adding an item to the cart. This error typically occurs when a product is unavailable due to insufficient stock. The error message is passed within the detail object.
Quick cart opened
This event fires when the quick cart is opened. The AJAX cart must be enabled for the event to be exposed. The cart object is passed within the detail object.
Quick cart closed
This event fires when the quick cart is closed. The AJAX cart must be enabled for the event to be exposed.
Product variant changed
This event fires when an a variant product is selected. A Variant selector block must be enabled on the product template or featured product section for the event to be exposed. The selected variant object is passed within the detail object.
Product quantity updated
This event fires when the product quantity is updated. A Quantity selector block must be enabled on the product template or featured product section for the event to be exposed. The quantity and selected variant objects are passed within the detail object.
Quick view modal loaded
This event fires when the Quick view modal is opened. The 'Enable quick shop' feature (Theme settings > Cart) must be enabled for the event to be exposed.
Products loaded (Collection pages)
This event fires when additional collection items are added to the page due to filtering or click to load / infinite loading.
How's Spark working for you?
We built Spark with developers in mind. We're looking to create relationships with third-party developers using our themes and want to hear from you about what you're building. Please feel free to reach out with questions or introduce yourself by e-mailing us at developers@fluorescent.co
Related links
Last updated