4

按下修饰键时是否有一些超链接点击行为标准?
例如,firefox 如果按下则创建一个新选项卡,如果Ctrl按下则创建一个新窗口Shift
Opera 创建新的非焦点选项卡Ctrl和焦点选项卡Shift
是完全依赖于浏览器还是有一些指导方针,应该考虑?

4

2 回答 2

1

这取决于浏览器,并且比您预期的要复杂得多:还有中键单击(不会触发onclick),还有 Apple 键盘,它是 Command+单击(不是 Ctrl+单击),“在新标签”上下文菜单、移动浏览器等等。

在评论中说:

我正在为我的网站编写一个 js,我想知道用户期望什么行为,点击带有绑定 onClick 事件的超链接。

建议的方法是尽可能在元素中提供一个实际的 URL,href并让浏览器处理在新选项卡中打开它。您可以通过从事件处理程序中取消事件来覆盖简单左键单击的默认行为。

于 2016-04-03T16:00:55.450 回答
-1

您可以使用

target="_blank"

属性以强制网页在新选项卡/窗口中打开(取决于浏览器)。例如:

<a href="www.google.com" taget="_blank">

- 更新 -

好吧,我做了一些调查,看不到有关超链接和修饰符的任何内容,我唯一能想到的就是处理 javascript 中的修饰键。

如果在新选项卡/窗口中弹出新页面是一个问题,您可以执行以下操作来禁用它。但是,如果用户禁用了 javascript,那么该链接将根本不起作用,这并不理想。

<HTML>
<HEAD>
<TITLE>Event Modifiers</TITLE>
<SCRIPT LANGUAGE="JavaScript">

function checkMods(event){
       if(event.shiftKey) {
        alert("Shift, held.");
        return false
       }
       else{
        window.location = "http://www.google.com/"
        return true
       }

}

</SCRIPT>
</HEAD>
<BODY>
<H1>Event Modifiers</H1>
<HR>
<P>This link wont work if Shift is held while clicking. 
<A HREF="javascript:void(0)" onClick="return checkMods(event)">
this link</A>
</BODY>
</HTML>
于 2013-02-20T09:31:22.920 回答