使用 click jquery 函数来跟踪我在网页上的点击次数

Posted

技术标签:

【中文标题】使用 click jquery 函数来跟踪我在网页上的点击次数【英文标题】:using click jquery function to track my clicks on a web page 【发布时间】:2021-06-08 13:55:50 【问题描述】:

我正在编写一些代码来跟踪我自己在网页上的点击活动。我这样做了,效果很好,但仅适用于某些 dom 元素。

$(document).on('click','body *',function()
  if(!trackingStopped && !TrackingPaused && startTracking)
  var domElement = $(event.target).closest();   
  localStorage.setItem("clicked",JSON.stringify(domElement.nodeName));
  
);

但它不适用于某些 dom 元素,例如:

当我点击文本搜索输入时,它会检测到它,但是当我点击谷歌搜索按钮时,它不会检测到它。它不会在 localStorage 中存储任何内容,就好像我没有点击任何内容一样。

【问题讨论】:

【参考方案1】:

使用 chrome 开发者工具,我们可以看到该按钮的 click 事件上已经有一些绑定,请参阅:Google Search Button Binded Events

我猜(我还没有验证),这些调用函数之一将停止事件传播https://developer.mozilla.org/fr/docs/Web/API/Event/stopPropagation

【讨论】:

所以基本上我无法捕获停止事件传播的元素的点击? 事件在 bubule 中从元素传播到其父元素。但是它们的捕获是从 Window 到元素的,您可以在那里添加一个侦听器:有关详细信息,请参阅 javascript Event Propagation。 编辑:您肯定需要同时跟踪哪个元素被悬停/聚焦,以了解事件的真正目标元素是什么;或查找您需要的信息是否在活动中可用(不确定) 非常感谢!!这对我很有帮助。

以上是关于使用 click jquery 函数来跟踪我在网页上的点击次数的主要内容,如果未能解决你的问题,请参考以下文章

如何将 jQuery Validate 与我的 aws lambda 函数集成?

指定在我的 Jquery .click 函数中使用哪个“this”

jQuery click(false) 结合一个函数

使用事件跟踪和jQuery跟踪Google分析中的传出链接

「网易官方」极客战记(codecombat)攻略-网页开发2-点击-clickthrough

使用JQuery时无法传递事件Click()