我有一个代码段来跟踪添加到购物车按钮的点击次数三次。
它在弹出窗口内快速查看'莫达尔如果你感到困惑,为什么我这样写呢。
准确地说 - 这部分每次点击都会发射三次:
$(".qlBtns").one("click", function() {
mboxDefine('dynamicElement5', 'QuickViewAddToCartClicked');
mboxUpdate('QuickViewAddToCartClicked', 'Clicked=Yess');
});
以下完整代码段:
$(document).ready(function() {
$(".quickview_btn").click(function() {
var quickview_url = $(this).attr("href");
var qvURL = $(this).attr("href");
$(".quickview_btn").colorbox({
href: qvURL,
opacity: 0.6,
onComplete: function() {
$(".qlBtns").one("click", function() {
mboxDefine('dynamicElement5', 'QuickViewAddToCartClicked');
mboxUpdate('QuickViewAddToCartClicked', 'Clicked=Yess');
});
}
});
mboxDefine('dynamicElement', 'QuickViewPLPclicked');
mboxUpdate('QuickViewPLPclicked', 'paramURL=' + quickview_url);
});
});
答案 0 :(得分:1)
你应该绑定事件
$(".qlBtns").off("click").on("click", function() {});
只有一次触发一次,因为你在另一个函数 oncomplete 回调中绑定了事件,事件可能是多次绑定。您应该在。 colorbox 功能之外进行此绑定。如果您不能这样做,我建议您使用以下代码解除绑定并绑定事件。
{{1}}