Is there a way in jQuery or JavaScript to enable the user to CTRL + Click a link to open a link in a new tab like <a href="">example</a>
element?
Here is an example of what I am talking about:-
jQuery('#some-link').bind('click', function() {
window.location = 'http://someurl.com';
});
If you hold CTRL and click the 'some-link' element, it just opens the page within the current page when using the above code, any ideas on how do this?
In case anyone wants to disable page navigation on regular click, to make an ajax call or something, but still wants to keep the default ctrl+click and right-click and middle-click(mouse scroll button) , that is the way:
$('#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 documentation says:
event.which also normalizes button presses (mousedown and mouseupevents), reporting 1 for left button, 2 for middle, and 3 for right. Use event.which instead of event.button.
On Macintosh keyboards, this is the ⌘ Command key. On Windows keyboards, this is the Windows key (⊞ Windows).
For more see this page:
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/metaKey
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.