如何运行新的window.open并自动添加Ctrl键?

3
在ff和chrome中,按下Ctrl并单击URL,它将在一个新的标签页中打开,并保持在原来的URL上。当我尝试使用JavaScript的window.open时,它也会打开一个新标签页,但屏幕会切换到新标签页。如何使用window.open打开一个新的标签页并保持屏幕在旧的URL上?
或者,当我单击URL时,我可以使用jQuery自动添加Ctrl键吗?
jQuery
$(".link").mousedown(function(e) {
   if (e.which === 1) {
      window.open($(this).attr('href'));
   }
});
2个回答

0
这最终取决于浏览器如何处理您的指令。例如,JavaScript没有打开选项卡或新浏览器窗口的概念。
但是,可能会有一些方法可以解决这个问题,尽管在不同的浏览器中可能会有所不同,那就是模糊window.open产生的窗口引用。
var newWin = window.open($(this).attr('href'));
newWin.blur();
window.focus();

0

我刚刚在David Hedlund的答案中添加了return false;,以使其在Chrome和Safari下正常工作。我发现如果没有return false;,我的Chrome会打开两个标签页。

完整的jQuery代码:

$(document).ready(function(){ $("a").click(function() { var newWin = window.open($(this).attr('href')); newWin.blur(); window.focus(); return false; }); });

不幸的是,在Chrome中会出现“闪烁”,因为浏览器会快速地切换到新标签页并返回。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接