![](/img/trans.png)
[英]simulate ctrl + click with javascript or jquery (to open a new tab without focus)
[英]jQuery/JavaScript - Allow CTRL + Click to open link in new tab
在 jQuery 或 JavaScript 中是否有一种方法可以让用户按 CTRL + 单击链接以在新选项卡(例如<a href="">example</a>
元素)中打开链接?
这是我正在谈论的一个例子:-
jQuery('#some-link').bind('click', function() {
window.location = 'http://someurl.com';
});
如果您按住 CTRL 键并单击“some-link”元素,则在使用上述代码时它只会在当前页面内打开页面,有关如何执行此操作的任何想法?
如果有人想在常规点击时禁用页面导航,进行 ajax 调用或其他操作,但仍想保留默认的 ctrl+click 和 right-click 和 middle-click(mouse scroll button) ,那就是方法:
$('#link').bind('click', function(e) { if (!e.ctrlKey && e.which != 2 && e.which != 3) { e.preventDefault(); // some logic: $('#box').append('<br>').append($('<a>').html('not paging but doing something! Now try with CTRL')); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="box"> <a id="link" href="http://stackoverflow.com/questions/26823884/">this question</a> </div>
JQuery文档说:
event.which 也标准化按钮按下(mousedown 和 mouseupevents),左键报告 1,中间报告 2,右报告 3。 使用 event.which 而不是 event.button。
在 Macintosh 键盘上,这是 ⌘ 命令键。 在 Windows 键盘上,这是 Windows 键 (⊞ Windows)。
有关更多信息,请参阅此页面:
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/metaKey
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.