javascript - js 函数有时只在 Firefox 中有效,但在我的其他浏览器中一直有效
问题描述
所以添加到购物车功能有时只能在Firefox中工作,但其他浏览器工作正常
更改一些监听器代码
var addToCartButtons = document.getElementsByClassName('shop-item-button')
for (var i = 0; i < addToCartButtons.length; i++) {
var button = addToCartButtons[i]
button.addEventListener('click', addToCartClicked)
}
document.getElementsByClassName('btn-purchase')[0].addEventListener('click', purchaseClicked)
}
//-----------------
function addToCartClicked(event) {
var button = event.target
var shopItem = button.parentElement.parentElement
var title = shopItem.getElementsByClassName('shop-item-title')[0].innerText
var selectedValue = shopItem.getElementsByClassName('shop-item-list')[0]
var selectedSize = selectedValue.options[selectedValue.selectedIndex].text
var price = shopItem.getElementsByClassName('shop-item-price')[0].innerText
var imageSrc = shopItem.getElementsByClassName('shop-item-image')[0].src
addItemToCart(title, price, imageSrc, selectedSize)
updateCartTotal()
}
function addItemToCart(title, price, imageSrc, selectedValue) {
var cartRow = document.createElement('div')
cartRow.classList.add('cart-row')
var cartItems = document.getElementsByClassName('cart-items')[0]
var cartItemNames = cartItems.getElementsByClassName('cart-item-title')
var cartItemNames = cartItems.getElementsByClassName('cart-item-list')
for (var i = 0; i < cartItemNames.length; i++) {
if (cartItemNames[i].innerText == title) {
alert('This item is already added to the cart')
return
}
}
它的意思是将商品添加到购物车 https://www.jagsblast.xyz/public/rio-roller2.html
解决方案
推荐阅读
- python - 正则表达式获取子域但只有第一部分
- r - 如何将单个注释添加到整体 ggplot 图而不是每个方面
- excel - 如何“跳”到每个范围的下一行
- python - 手动 python zip() 函数。如何结束这段代码?
- boost-multi-index - 如何从有序复合 boost::multi_index 中提取条件范围
- c# - PDF 签名 - 使用 ItextSharp 将时间戳记令牌设置为签名
- flutter - 电子表格.values.get 返回“#name?”
- actionscript-3 - 在 ActionScript3 中,变量的声明存储在堆或堆栈中
- spring - 使用 Spring Cloud Gateway 进行负载均衡
- python - cmap 未应用于 Spyder