Scroll To Top
function addQtyButtons() {
document.querySelectorAll('.quantity').forEach(function(qty) {
// prevent double buttons
if (qty.classList.contains("buttons-added")) return;
qty.classList.add("buttons-added");
let input = qty.querySelector('input.qty');
if (!input) return;
// Create minus button
let minus = document.createElement("span");
minus.innerHTML = "–";
minus.classList.add("qty-btn", "qty-minus");
// Create plus button
let plus = document.createElement("span");
plus.innerHTML = "+";
plus.classList.add("qty-btn", "qty-plus");
// Insert buttons
qty.insertBefore(minus, input);
qty.appendChild(plus);
// on click events
minus.addEventListener("click", function () {
let val = parseInt(input.value);
if (val > 1) input.value = val - 1;
input.dispatchEvent(new Event("change"));
});
plus.addEventListener("click", function () {
let val = parseInt(input.value);
input.value = val + 1;
input.dispatchEvent(new Event("change"));
});
});
}
// Run again when Elementor loads product widget
document.addEventListener("DOMContentLoaded", function () {
addQtyButtons();
});
// For AJAX-loaded product pages (Elementor)
document.body.addEventListener("DOMNodeInserted", function () {
addQtyButtons();
});