jQuery - 我想将特定元素类中的html5数据属性值拉入onclick属性值

时间:2016-10-05 16:36:59

标签: javascript jquery css html5 custom-data-attribute

我正在指定一个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; ...)

3 个答案:

答案 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'));
})

什么也有问题: