JQuery or JavaScript: How determine if shift key being pressed while clicking anchor tag hyperlink?

javascript shift key combination
how to disable shift key in javascript
javascript shift key code
check if ctrl key is pressed javascript
javascript keycode
javascript keyboard events
javascript ctrl shift key
keyboard events in javascript with example

I have an anchor tag that calls a JavaScript function.

With or without JQuery how do I determine if the shift key is down while the link is clicked?

The following code does NOT work because keypress is only fired if a "real key" (not the shift key) is pressed. (I was hoping it would fire if just the shift key alone was pressed.)

var shifted = false;

$(function() {                           
    $(document).keypress(function(e) {
        shifted = e.shiftKey;
        alert('shiftkey='+e.shiftkey);
    });

    $(document).keyup(function(e) {
        shifted = false;
    });
}

...

function myfunction() {
  //shift is always false b/c keypress not fired above
}

    $(document).on('keyup keydown', function(e){shifted = e.shiftKey} );

Find out whether or not the "SHIFT" key was pressed when a mouse button is clicked: if (event.shiftKey) { alert("The SHIFT key was pressed!"); } else { alert("​The  I have an anchor tag that calls a JavaScript function. With or without JQuery how do I determine if the shift key is down while the link is clicked? The following code does NOT work because keypr


Here is the key code for each key stroke in JavaScript. You can use that and detect if the user has pressed the Shift key.

backspace           8
tab                 9
enter               13
shift               16
ctrl                17
alt                 18
pause/break         19
caps lock           20
escape              27
page up             33
page down           34
end                 35
home                36
left arrow          37
up arrow            38
right arrow         39
down arrow          40
insert              45
delete              46
0                   48
1                   49
2                   50
3                   51
4                   52
5                   53
6                   54
7                   55
8                   56
9                   57
a                   65
b                   66
c                   67
d                   68
e                   69
f                   70
g                   71
h                   72
i                   73
j                   74
k                   75
l                   76
m                   77
n                   78
o                   79
p                   80
q                   81
r                   82
s                   83
t                   84
u                   85
v                   86
w                   87
x                   88
y                   89
z                   90
left window key     91
right window key    92
select key          93
numpad 0            96
numpad 1            97
numpad 2            98
numpad 3            99
numpad 4            100
numpad 5            101
numpad 6            102
numpad 7            103
numpad 8            104
numpad 9            105
multiply            106
add                 107
subtract            109
decimal point       110
divide              111
f1                  112
f2                  113
f3                  114
f4                  115
f5                  116
f6                  117
f7                  118
f8                  119
f9                  120
f10                 121
f11                 122
f12                 123
num lock            144
scroll lock         145
semi-colon          186
equal sign          187
comma               188
dash                189
period              190
forward slash       191
grave accent        192
open bracket        219
back slash          220
close braket        221
single quote        222

Not all browsers handle the keypress event well, so use either the key up or the key down event, like this:

$(document).keydown(function (e) {
    if (e.keyCode == 16) {
        alert(e.which + " or Shift was pressed");
    }
});

Example. Find out whether or not the "SHIFT" key was pressed when a keyboard key is pressed: var x = document.getElementById("demo"); if (event.shiftKey) { 90 JQuery or JavaScript: How determine if shift key being pressed while clicking anchor tag hyperlink? 64 What does autocomplete request/server response look like? 23 What is the "standard" JQuery treeview that most people use?


For mouse events, I know that in Firefox at least the "shiftKey" property on the event object will tell you if the shift key is down. It's documented at MSDN but I haven't tried it in forever so I don't recall if IE does this right.

Thus you should be able to check for "shiftKey" on the event object in your "click" handler.

Find out whether or not the "CTRL" key was pressed when a mouse button is clicked: if (event.ctrlKey) { alert("The CTRL key was pressed!"); } else { alert("The​  Stop characters being typed into form. Check out the demo. If you are using jQuery anyways, How determine if shift key being pressed while clicking anchor tag


I had a similar problem, trying to capture a 'shift+click' but since I was using a third party control with a callback rather than the standard click handler, I didn't have access to the event object and its associated e.shiftKey.

I ended up handling the mouse down event to record the shift-ness and then using it later in my callback.

    var shiftHeld = false;
    $('#control').on('mousedown', function (e) { shiftHeld = e.shiftKey });

Posted just in case someone else ends up here searching for a solution to this problem.

onkeydown Event. ❮ DOM Events ❮ KeyboardEvent. Example. Execute a JavaScript when a user is pressing a key: <input  89 JQuery or JavaScript: How determine if shift key being pressed while clicking anchor tag hyperlink? 64 What does autocomplete request/server response look like? 23 What is the "standard" JQuery treeview that most people use?


The keypress event isn't triggered by all browsers when you click shift or ctrl, but fortunately the keydown event is.

If you switch out the keypress with keydown you might have better luck.

Tip: If you want to find out whether the "ALT", "CTRL", "META" or "SHIFT" key was pressed when a key event occured, use the altKey, ctrlKey, metaKey or shiftKey  To determine which key was pressed, examine the event object that is passed to the handler function. While browsers use differing properties to store this information, jQuery normalizes the .which property so you can reliably use it to retrieve the key code. This code corresponds to a key on the keyboard, including codes for special keys such


Set the access key of a link: The accesskey attribute specifies a shortcut key to activate/focus an element. Note: The way of accessing the shortcut key is varying in different browsers: Opera 12.1 or older: [Shift] [Esc] + accesskey IE, Firefox​: The next element with the pressed access key will be activated; Chrome,  39 jQuery Multiple ID selectors 27 .NET Out Of Memory Exception - Used 1.3GB but have 16GB installed 23 JQuery or JavaScript: How determine if shift key being pressed while clicking anchor tag hyperlink?


keydown(): This event occurs when a keyboard key is pressed. Example 1: This Example uses keypress() event to trigger enter key as a button. How to check whether the enter key is pressed in a textbox or not using JavaScript / jQuery ? How to change the href value of <a> tag after click on button using JavaScript ? The .trigger () method can be used on jQuery collections that wrap plain JavaScript objects similar to a pub/sub mechanism; any event handlers bound to the object will be called when the event is triggered. Note: For both plain objects and DOM objects other than window, if a triggered event name matches the name of a property on the object


Keyboard events may not be fired if the user is using an alternate means of Mono,monospace" fill="#4D4E53" text-anchor="middle" This may be the empty string if the browser or device doesn't know the keyboard's locale. if a modifier key such as Alt , Shift , Ctrl , or Meta , was pressed when the event  Q&A for professionals, academics, and students working within the systems development life cycle