首页 文章

Google跟踪代码管理器点击事件未冒泡到父级

提问于
浏览
6

我在客户的网站上设置Google跟踪代码管理器,但我无法点击事件标记 .

我将触发器设置为触发按钮的CSS选择器 .

按钮本身有一些子元素,包括一个svg图标 . 单击svg时,单击将在数据层中注册,但不会触发标记 . 标签仅在我选择按钮本身时触发 .

我还尝试在我自己的脚本中删除事件监听器,如果 return false;e.stopPropagation() 阻止它,则附加到这些按钮,但这并没有改变任何东西 .

我理解GTM会监听冒泡到文档的点击事件 . 如果是这种情况,我的标签应该在点击一个孩子时触发,对吧?还是我误解了什么?

或者,我应该在我的脚本中将事件推送到dataLayer而不是使用单击触发器吗?

screenshots

10 gtm.click 正确地触发了标记

9 gtm.click 是没有的儿童svg

最后一个屏幕截图是我的触发器的触发规则 .

1 回答

  • 5

    我经常遇到这种类型的问题 . 对于像glyphicons这样的东西,它也会出现 <i> 标签 . 只需将CSS pointer-events:none; 添加到该SVG(除非您要求SVG可单击而不仅仅是parentElement) . SVG上的 pointer-events:none 意味着当单击它时,click事件在父元素上注册 .

    最好的方法是让客户端开发人员添加JS . 更糟糕的方法是通过GTM在自定义HTML标签中运行类似的东西

    jQuery('a.link-youre-tracking svg').css('pointer-events','none)

相关问题