谷歌分析:添加onClick,但链接已经有onClick?

时间:2014-07-31 00:04:40

标签: javascript google-analytics onclick

我正在使用Google Analytics(通用),我正在尝试将onClick操作添加到链接中,但已经有onClick脚本:

<a class="checkout-btn" href="/checkout-start" class="button_control" onclick="return $(this).getForm().sendRequest('shop:on_setCouponCode')">Check out</a>

但我需要为GA添加此脚本:

onClick =“ga('发送','事件','标题','悬停','户外酒吧工具');”

如何在一个链接上获得两个onClick事件?有可能吗?

2 个答案:

答案 0 :(得分:1)

最简单(尽管错误)的方法是使用半冒号,有两个命令:

onClick="ga('send', 'event', 'Header', 'hover', 'Outdoor Barstools'); return $(this).getForm().sendRequest('shop:on_setCouponCode')"

更好的方法是永远不要使用onClick HTML属性并使用外部JavaScript文件绑定到ID的click()事件。这提高了代码的可维护性。

标签变为:

<a class="checkout-btn" id="foo" ...

使用jQuery,并引用ID&#39; foo&#39;标记:

$('#foo').click(function() {
    ga('send', 'event', 'Header', 'hover', 'Outdoor Barstools');
    return $(this).getForm().sendRequest('shop:on_setCouponCode');
});

答案 1 :(得分:0)

这是直接在HTML中添加处理程序次优的原因之一。如果您使用的是jQuery,则可以使用bind方法, 例如:

$(".checkout-btn" ).bind( "click", function(evt) {
       console.log('oh yeah');         
});

如果您只是使用原始JavaScript,则可能是这样的:

document.getElementById("checkout-btn")
        .addEventListener("click", function(evt) {
       console.log('oh yeah');         
}, false);