gpt4 book ai didi

javascript - 在链接点击事件上返回 true 不起作用

转载 作者:行者123 更新时间:2023-11-28 13:28:46 25 4
gpt4 key购买 nike

我正在尝试执行一些在单击特定链接时有回调的代码。回调是再次单击链接,但在第二次传递时,该方法返回 true 以遵循正常行为。但由于某种原因,它不起作用?我使用 clickedLink 来获得适当的范围。在事件回调中,this 引用了 window

更新为了更清楚一点,我同意通常这不是一个最佳解决方案,但我正在使用 Google 的标签管理器来监控电子商务流量。我试图确保产品点击被推送到他们的数据层,并使用他们的事件回调来恢复正常行为。更多信息请点击:https://developers.google.com/tag-manager/enhanced-ecommerce#product-clicks

这是我根据下面的答案更新的方法,但它仍然不起作用。

var shopCartBtnClicked = false;
var clickedLink;
jQuery('#pdp_add_cart, .add_to_cart_button').click(function(e) {

if (shopCartBtnClicked === true) {
shopCartBtnClicked = false; //I make it here just fine
} else {
e.preventDefault();
clickedLink = this;
var pdp = false;
if (mmProduct) {
//On detail page
mmProduct.qty = jQuery('input[name="quantity"]').val();
pdp = true;
} else {
//on a shopping page
mmProduct = findProductClicked(this);
mmProduct.qty = 1;
}

dataLayer.push({
'event': 'addToCart',
'ecommerce': {
'currencyCode': 'USD',
'add': {
'products': [{
'name': mmProduct.name,
'id': mmProduct.id,
'price': mmProduct.price,
'quantity': mmProduct.qty
}]
}
},
'eventCallback': function () {
//Are we on a product detail page with a form, or just a shopping page with a link?
if (pdp) {
jQuery('form.cart').submit(); //This part works just fine
} else {
mmProduct = null;
shopCartBtnClicked = true;
$(clickedLink).trigger('click'); //This doesn't
}
}
});
}
});

最佳答案

做得不是很好,但是应该可以:

var shopCartBtnClicked = false;
var clickedLink;
jQuery('.add_to_cart_button').click(function(e) {
if (shopCartBtnClicked === true) {
shopCartBtnClicked = false;
// dont return, just let javascript handle this one
} else {
// only execute when you have not set it to true
e.preventDefault();
clickedLink = this;

shopCartBtnClicked = true;
$(clickedLink).trigger('click');
}
});

我确实想知道为什么你不先执行其他逻辑,然后阻止默认

关于javascript - 在链接点击事件上返回 true 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26803016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com