一日中問題を調べていて、他の開発者が Chrome でこの問題を抱えているかどうか疑問に思っていました。
この質問を以前に投稿しました ( Chrome は [今すぐ購入] ボタンでダブル アクションをトリガーします)、さらに確認すると、エラーはおそらく 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 の値を得ていました。
スパン タグが削除された場合、値 1 が追加されます。それらが存在する場合、何らかの理由で [今すぐ購入] 機能が 2 回トリガーされます。
私は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() 呼び出しを行う必要があるかもしれませんが、これは [今すぐ購入] ボタンを持つという目的を無効にします。
私が困惑しているのは、スパンタグを削除することで問題が解決したようです。しかし、私はデザイナーではないので、これを回避できるかどうかはわかりません。
誰にもアイデアはありますか?