我正在尝试跟踪外部链接上的点击(不使用“重定向页面”)。
无论用户是否跟随,当用户点击链接时如何捕获事件:
onClick事件仅适用于第一个。
如果设置为href="javascript:fireEventAndFollowLink()"
,则用户将无法在新窗口(2)中打开链接,因此这不是解决方案。
可以通过某些方式触发链接(假设使用现代浏览器,请参见脚注):
<a target="_blank">
或<a target="_new">
,页面将被加载到新标签。target
值,可以将链接加载到当前画面或另一帧。如何捕获这些链接没有no可靠方法来捕获所有链接事件。
onmouseup
事件可用于检测1、2和3。可以通过event.button
(or event.which
)属性跟踪使用的按钮。在所有非IE浏览器中,0 =左,1 =中,2 =右。在IE中,1 =左,2 =中,4 =右。event.which
事件可用于捕获1和2。可以通过onclick
和event.altKey
属性检测到修改键。event.shiftKey
事件可用于捕获3oncontextmenu
事件可用于捕获4。修饰键的行为在任何规范中都没有形式化,因此是特定于浏览器的。至少Firefox(至少3+)和Chrome(全部?)实现了此键行为。
[onkeydown
-如何拦截链接(Related question)上的动作?]