单击由D3创建的svg圆形元素时,我想向Google Analytics(分析)(ga.js)触发事件处理程序。

我想出了这个:

var circlesIndbyggere = d3.select("#ID").selectAll("svg").data(dataset);

circlesIndbyggere
    .enter()
    .append("circle")
    .attr("cx", 50)
    .attr("cy", 150)
    .attr("r", 20)
    .attr("fill", "rgba(35,50,80,0.5)")
    .attr("onClick", "ga('send', 'event', 'button', 'click', 'circle', 4);")


现在,当我使用Google Analytics(分析)Debugger-ChromeExtension监视控制台时,似乎没有触发事件?

将GA代码段写入标记后,如下所示:

<a onClick="ga('send', 'event', 'button', 'click', 'arrow', 4);">
    <img src="/"/>
</a>


...似乎工作正常

最佳答案

我认为最好听这样的点击:

.attr...
.on('click', function(node) {
    ga('send', 'event', 'button', 'click', 'circle', 4);
});


优点:


有用 :)
更好的可读性。字符串中的JS代码看起来很糟糕。
您可以调试它,而不是字符串。不会弄脏DOM

关于javascript - D3.js:在GA中跟踪与SVG的用户互动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24046021/

10-16 22:11