javascript - 一个 href click 和 onClick 同时进行
问题描述
我使用 onClick 事件将数据层推送到谷歌标签管理器,但我也想将用户发送到使用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>
解决方案
停止默认操作 (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);
});
});
推荐阅读
- c# - 显示上个月创建的文件夹 C#
- quill - Quill 代码块格式化
- excel - Concat,Concatenate,TextJoin,都返回'#NAME?'
- javascript - 如何使用 Javascript 检测“屏幕截图”
- docker - Flask url_for 由 docker 运行时生成 http 而不是 https
- c++ - 如何正确使用 OpenH264 使用代码示例进行编码?
- node.js - Socket.io 的函数 socket.on 只被调用一次
- powershell - Powershell 中的数据集变量
- javascript - 如何在 Typescript 中检查字符串是否为数字/浮点数?
- angular - 使用 ngFor 生成表 - Angular 5