jQuery / JavaScript – 允许CTRL +单击以在新选项卡中打开链接

在jQuery或JavaScript中是否有一种方法可以让用户按CTRL +点击链接在example元素的新标签中打开链接?

以下是我所谈论的一个例子: –

 jQuery('#some-link').bind('click', function() { window.location = 'http://someurl.com'; }); 

如果您按住CTRL并单击“some-link”元素,它只会在使用上面的代码时打开当前页面中的页面,有关如何执行此操作的任何想法?

检查是否按下了Ctrl键,然后使用window.open打开链接。 但是,该链接可能无法在新标签中打开。 请参阅此处的讨论。

 jQuery('#some-link').bind('click', function(e) { e.preventDefault(); if (e.ctrlKey){ window.open('http://someurl.com','_blank') } }); 

见JSFiddle

如果有人想要在常规点击时禁用页面导航,进行ajax调用或其他什么,但仍想保持默认的ctrl +单击并右键单击并单击鼠标中键(鼠标滚动按钮),这样就可以了:

 $('#link').bind('click', function(e) { if (!e.ctrlKey && e.which != 2 && e.which != 3) { e.preventDefault(); // some logic: $('#box').append('
').append($('').html('not paging but doing something! Now try with CTRL')); } });