第一次使用 Google 跟踪代码管理器
。我有一个基于按钮类的点击事件触发器,但它会在每次点击时执行。
我的变量 {{bookingUnit}}
从页面上的 HTML 中获取的文本获取其值。它是一个自定义 Javascript 变量(并返回正确的值):
function() {
return $({{Click Element}}).closest('table')).find('td.rnc').text();
}
我必须检测按钮点击,该按钮在(第三方系统的)页面上定义为:
<input type="submit" name="ctl00$plcBody$BookingFormGrid$ctl16" value="BOOK NOW" onclick="$('form').attr('action', 'DetailsEntry.aspx?bfid=c5efdee5-7280-4593-8256-564e9b7ac01a&bfpid=8072faaa-c89f-4a63-be19-e54a91f0f1a0&bfrtid=3d6e96c3-e557-4f85-97d1-c750787dc6d8&arr=2019-03-07&nts=3&a=1&c=0');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$plcBody$BookingFormGrid$ctl16", "", true, "", "", false, false))" class="btn btn-primary bnow">
我有一个触发器如下:
Type: Click - All Elements
Fires On - Some Clicks
Click Classes - equals - btn btn-primary bnow
Click Element - equals - input
无论我在页面上点击什么地方,我都会看到事件触发:
gtm.click
但是我可以看到每次更新变量的值(因此它似乎忽略了我的 Click Classes
触发条件,并且仅在按下按钮时更新)。
我错过了什么?谢谢。
更新:使用 info from this forum ,我像这样改变了触发器:
Click Element - matches CSS selector - .btn .btn-primary .bnow
但是,通过单击页面上的任意位置,变量仍然会更新。
最佳答案
听起来您的容器中有一个处于事件状态的Click - All Elements
触发器。每次单击鼠标都会触发此操作。每次触发触发器时,所有变量都会在那时重新评估。因此,如果您不使用Click - All Elements
触发器,最好的办法是停用它。
编辑:
- 转至变量 > 配置内置变量
- 选择以下选项:
点击元素、点击类、点击 ID、点击目标、点击 URL、点击文本
- 转至触发器 > 新建
- 触发器类型:
点击 - 所有元素
- 此触发器在
某些点击
时触发 点击类
匹配 CSS 选择器
.btn.btn-primary.bnow
关于javascript - Google 标签 - 每次点击时 Javascript 变量值都会发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55036088/