同时单击href和onClick

时间:2020-02-03 00:39:27

标签: javascript jquery html

我正在使用onClick事件将数据层推送到Google跟踪代码管理器,但我也想使用a href将用户发送到页面。因此,我认为我的事件未记录在Google Analytics(分析)中,因为在记录事件之前已将页面重定向。

JS

$(document).ready(function () {
    $('.gtm-click-evt').click(function(){
        var dataAmount = $(this).data('value').replace("$", ""); //Remove dollar sign
        var value = parseInt(dataAmount); //convert to int
        dataLayer.push({
            'event': 'clickEvent',
            'category': $(this).data('category'),
            'action': $(this).data('action'),
            'label': $(this).data('label'),
            'value': value
        });
    });
});

HTML

<a href="/want-to-also-redirect-to-a-page"
   class="gtm-click-evt gtm-colo btn btn-primary bg-green"
   data-category="productClick"
   data-action="colocationClick"
   data-label="label"
   data-value="99">
   Buy Now
</a>

2 个答案:

答案 0 :(得分:0)

您可以通过以下功能将用户重定向到页面:

$(document).ready(function () {
$('.gtm-click-evt').click(function(){
    var dataAmount = $(this).data('value').replace("$", ""); //Remove dollar sign
    var value = parseInt(dataAmount); //convert to int
    dataLayer.push({
        'event': 'clickEvent',
        'category': $(this).data('category'),
        'action': $(this).data('action'),
        'label': $(this).data('label'),
        'value': value
    });
    window.location = "/want-to-also-redirect-to-a-page";
  });
});

然后链接更改:

<a class="gtm-click-evt gtm-colo btn btn-primary bg-green"
    data-category="productClick"
    data-action="colocationClick"
    data-label="label"
    data-value="99">
    Buy Now
</a>

答案 1 :(得分:0)

停止默认操作(event.preventDefault();),运行必要的代码,然后等待一秒钟并重定向。

$(document).ready(function () {
$('.gtm-click-evt').click(function(event){
    event.preventDefault();
    var dataAmount = $(this).data('value').replace("$", ""); //Remove dollar sign
    var value = parseInt(dataAmount); //convert to int
    dataLayer.push({
        'event': 'clickEvent',
        'category': $(this).data('category'),
        'action': $(this).data('action'),
        'label': $(this).data('label'),
        'value': value
    });
     url=$(this).attr('href');
    setTimeout(function(){location.href = url}, 1000);
});
});