我有这个按钮:
<a href="#" ng-click="addToCart()" onclick="step4()" class="btn btn-submit btn-block">Add to Cart</a>
然后我有这个Javascript:
function step4() {
dataLayer.push({
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {'step': 4}
}
}
});
}
在Chrome开发者控制台中,单击链接时它没有显示任何触发器?有小费吗?我怎么能告诉我的JS正在解雇?
答案 0 :(得分:1)
我猜你应该阻止锚元素的默认动作
尝试
function step4(e) {
e.preventDefault();
dataLayer.push({
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {'step': 4}
}
}
});
}
答案 1 :(得分:1)
你的功能应该被触发,但你没有输出任何东西到控制台,所以你不会看到任何东西。您应该尝试在函数中放置一个console.log()语句,它将一些文本输出到开发控制台。
你可以做这样的事情,一旦命中函数就会打印到控制台,然后在它完成之前第二次与dataLayer对象的新值一起打印:
function step4() {
console.log('Inside step4 function.');
dataLayer.push({
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {'step': 4}
}
}
});
console.log('End of function call: ', dataLayer);
}
这是一个吸虫: https://plnkr.co/edit/fLcx1oX4Q1A6XoiBOGcp?p=preview