我正在使用onclick事件将整个div设为可导航链接。这很有效,直到您使用ctrl +单击或鼠标中键以在新选项卡中打开目标。我发现确实打开了一个新选项卡,但当前选项卡也是如此。
通过ctrl +点击其中一个框来查看我的意思:http://mw.modhistory.com/download-1
我不想通过强制进入新标签来中断正常浏览的能力......用户应该在这里有选项。但我希望能够在新标签页中快速打开这些链接,而不必反复“退回”。
我认为使用preventDefault()是个好主意,但最终与我的想法相反,完全阻止了打开新标签的能力(一旦我真的想到它就有意义了)这是什么意思。)
有什么想法吗?谢谢!
- Fligg
答案 0 :(得分:0)
我假设您的事件监听器正在将事件发送到路由/分配功能,或者您没有想要实现的大量点击事件不适用于此功能。< / p>
无论哪种方式,您都可以执行以下操作:
// Assuming we already know what the purpose of the click was, and its target
function (e) {
if (!!e.ctrlKey) { /* CTRL was held during mouse-click */ }
else { /* not held */ }
}
对于鼠标按钮,它们非常混乱。
你应该没问题:
e.which /* 1-based: middle-button is #2 */
或
e.button /* 0-based: middle-button is #1 */
请记住,过去支持找出哪些按钮多年来真的很糟糕。 如果您有一个抽象的库,请使用它。 否则,除了向使用较新浏览器的人提供此功能,或者编译以前的值和按钮值之外,它最终会解析浏览器版本,这绝不是好事。