两个事件监听器单个函数,如果两者都被触发,仍然只有一个调用?



我希望我的代码侦听两个事件,但我不想触发两次,不想调用动作两次。因为实际上是一样的,不过我认为是prestashop。on('updateCart'监听器在某些浏览器上不会触发。我不知道,我看到了丢失的数据。你可以认为

,如果它被触发前置。("updateCart">$("#addtocart")内("click"=比;调用函数

prestashop.on('updateCart', function(params) {
addtocartpixelfunction();
});
$( "#addtocart" ).on( "click", function() {
addtocartpixelfunction();
});

我想这样的东西应该可以工作。添加一个哨兵变量以避免重复调用函数:


let sentinel = 0;
prestashop.on('updateCart', function(params) {
if (sentinel === 1 || !sentinel) {
sentinel = 1;
addtocartpixelfunction();
}
});
$( "#addtocart" ).on( "click", function() {
if (sentinel === 2 || !sentinel) {
sentinel = 2;
addtocartpixelfunction();
}
});

相关内容

最新更新