12

我一直在处理一个困扰我的 Javascript 问题,涉及跟踪用户何时单击链接(如果您好奇,这里是:为什么使用 target="_blank" 会导致 Javascript 失败?)。

我发现我可以通过跟踪onMousedown事件而不是onClick事件来解决问题。

我很好奇这种方法的缺点。我能想到的有:

  1. 如果用户单击链接,然后在释放链接之前将鼠标从链接上移开,那么即使用户没有访问该链接,也会记录该事件
  2. 如果用户使用 tab 键将浏览器焦点移动到链接上,然后按回车键,则不会记录单击

这些都不常见,所以我并不十分担心它们。

我还有其他缺点吗?

4

1 回答 1

13

还有一个:mousedown 也可以捕获右键/中键。

但是出于你的两个原因,我会坚持onclick. 我认识不少使用键盘导航的人。尤其是 FF 中的 search-and-gotolink。(/ 进行搜索,然后输入以转到链接)。

但是,如果这两个对您来说不是问题,我认为右键/中间点击也不会太麻烦。

我认为跟踪所有关注该链接的用户的方法非常棘手——用户可以右键单击并单击新标签/新窗口...

于 2009-10-28T07:26:29.657 回答