我正在指定一个css类.ga-track
来指定我想要跟踪的元素,同时还指定数据属性data-category=""
,data-action=""
,data-label=""
,{{1}对特定元素也是如此。
示例:
data-value=""
$('a, button, form, input').addClass('ga-track');
正确添加数据属性和类。
现在,我正在尝试通过$('form#formid').attr({
'data-category':'Form Submission',
'data-action':'Click',
'data-label':'Specific FormID Label'
});
定位所有内容.ga-track
的元素来嵌入内联Google Analytics onClick事件,如下面的代码段所示。
.attr('onclick', '_gaq.push('_trackEvent', ...')
我不确定能否在.attr()函数中进行数据属性调用。
我也尝试过$(".ga-track").attr("onclick", _gaq.push('_trackEvent', $(this).data('category'), $(this).data('action'), $(this).data('label'), $(this).data('value'), $(this).data('interaction')););
,然后将.attr('onclick', myFunction())
绑定到jQuery中的_ga.push调用,但看起来我被迫使用onclick事件集追加onclick事件与我试图瞄准的元素内联。
修改
这是我的最终工作代码:
myFunction()
<。> .on方法肯定比.attr方法更好地添加onclick =&#34;&#34;属性。
我也使用了错误的GA方法和analytics.js,之前使用的是_gaq.push函数而不是ga(&#39; send&#39; ...)
答案 0 :(得分:0)
试试这个,
$(".gaTrack").on("click",function(){
_gaq.push('_trackEvent', $(this).data('category'), $(this).data('action'), $(this).data('label'), $(this).data('value'), $(this).data('interaction'));
});
,或者
$(".gaTrack").click(function(){
_gaq.push('_trackEvent', $(this).data('category'), $(this).data('action'), $(this).data('label'), $(this).data('value'), $(this).data('interaction'));
});
答案 1 :(得分:0)
试试这样:
$(".gaTrack").click(function(){
_gaq.push('_trackEvent', $(this).data('category'), $(this).data('action'), $(this).data('label'), $(this).data('value'), $(this).data('interaction'));
});
答案 2 :(得分:0)
您不应将onclick
属性与jquery一起使用,而应使用.click()
函数或.on('click',..)
以及回调函数:
$('.ga-track').on('click', function(){
_gaq.push('_trackEvent', $(this).data('category'), $(this).data('action'), $(this).data('label'), $(this).data('value'), $(this).data('interaction'));
})
什么也有问题:
您使用了&#39; .addClass(&#39; ga-track&#39;);&#39;声明类名,但$('.gaTrack')
要搜索它(找不到...)。
您使用$(this)
来引用$('.ga-track')
,但this
可能是其他内容。阅读:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this