当天大部分时间都在查看问题,并想知道其他任何开发者是否都有这个问题。
早些时候发布此问题(Chrome triggering double action on Buy Now Button),但经过进一步审核后,似乎错误可能与Chrome有关。
我们的产品页面上已有2年的代码
<a class="blue_btn" >
<xsl:attribute name="href">#</xsl:attribute><xsl:attribute name="id">Buy_<xsl:value-of select="VariantID"/></xsl:attribute><span>Buy Now</span></a>
从今天早晨起,任何使用最新版Chrome并在购物车中添加1件产品的人都会获得2分。
如果删除了span标记,则会添加值1,如果它们存在,则会以某种方式触发“立即购买”功能两次。
我使用了Chrome Dev Tools,这是代码
的示例<script type="text/javascript" xmlns:eos="urn:eos">
$(document).ready(function() {
$('#Buy_28488').click(function() { AddToCart(); });
function AddToCart() {
var qty = $('#Quantity_28488').val();
if (qty == 0) {
alert('Please select a Quantity greater than zero');
return;
}
var url = 'addtocart.aspx?Quantity='+qty+'&ProductID='+28479+'&VariantID='+28488+'&returnurl=p-28479-whey-to-go-protein-powder-chocolate.aspx';
window.open(url,'_self');
}
});
</script><div class="product_pg" xmlns:eos="urn:eos">
我可能需要在函数中调用event.stoppropagation()来停止多点击事件,但这会使得立即购买按钮失败。
让我感到困惑的是删除span标签似乎解决了这个问题。但我不是设计师所以不确定我是否可以解决这个问题。
有人有什么想法吗?