javascript - dataLayer.push 重复
问题描述
我正在尝试推送数据层。但它一直给我一个重复的数组。请看下面我的代码
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<script>
dataLayer = [{
'productID': '123456',
'productTitle': 'Very awesome product',
'productPrice': '13.00'
}];
function next_step1c() {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'Enquiry',
'PageURL': window.location.href,
});
}
</script>
<fieldset id="firstc">
<div class="funkyradio">
<div class="funkyradio-success" onclick="next_step1c()">
<input type="radio" name="buy" id="check1c" value="Rolex"/>
<label for="check1c">Rolex</label>
</div>
</div>
</fieldset>
但是当我点击劳力士这个词时。我得到重复
只有点击劳力士这个词,我才能得到一推?
解决方案
试试这样。您将 onclick 添加到.funkyradio-success
类。因此,当您clicked
单击单选按钮时,它只会起作用1
。但是当你点击标签按钮时,它就在那里clicks
double
。因为当你click label
在那里工作时.funkyradio-success
点击。所以label binded to radio input
也input click trigger
有效。所以你的函数调用2
时间。
dataLayer = [{
'productID': '123456',
'productTitle': 'Very awesome product',
'productPrice': '13.00'
}];
function next_step1c() {
console.log('you clicked me');
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'Enquiry',
'PageURL': window.location.href,
});
}
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<fieldset id="firstc">
<div class="funkyradio">
<div class="funkyradio-success" onclick="next_step1c()">
<input type="radio" name="buy" id="check1c" value="Rolex"/>
<label for="check1c">Rolex</label>
</div>
</div>
</fieldset>
添加 onclick 输入单选
dataLayer = [{
'productID': '123456',
'productTitle': 'Very awesome product',
'productPrice': '13.00'
}];
function next_step1c() {
console.log('you clicked me');
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'Enquiry',
'PageURL': window.location.href,
});
}
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<fieldset id="firstc">
<div class="funkyradio">
<div class="funkyradio-success" >
<input type="radio" name="buy" id="check1c" onclick="next_step1c()" value="Rolex"/>
<label for="check1c">Rolex</label>
</div>
</div>
</fieldset>
推荐阅读
- javascript - 在 JSX 中调用组件有哪些不同的方式?
- python - 有没有办法用递归计算二进制整数的位数?
- swift - 如何从另一个视图控制器调用 tableview reloadData
- c# - 对 MySQL 的 LINQ 查询
- css - 如何去除 Nuxt + vuetify 中的滚动条?
- codedom - Codedom 编译器 VB.NET 4.6.1 不支持
- c# - NOSQL (RavenDB) 从 C: Drive 上的文件夹查询
- imagemagick - 如何在imagemagick中使用photoshop中的图像坐标
- scala - 在没有 SBT 的情况下从命令行运行 scala 测试
- java - 程序运行时间(循环,只显示一次)