How to detect keyboard modifier (Ctrl or Shift) using JavaScript

I have a function that determines the maximum length. but the problem is that when the maximum length reached the combination Ctrl + A, it does not work. How can I detect a combination of Ctrl + A via javascript.

This is my maxlength code.

if (event.keyCode==8 || event.keyCode==9 || event.keyCode==37 || event.keyCode==39 ){ return true; } else { if((t.length)>=50) { return false; } } 
+6
source share
4 answers

Check event.ctrlKey :

 function keyHandler(event) { event = event || window.event; if(event.keyCode==65 && event.ctrlKey) { // ctrl+a was typed. } } 
+20
source

key codes:

 shift 16 ctrl 17 alt 18 

your jQuery:

 $(document).keydown(function (e) { if (e.keyCode == 18) { alert("ALT was pressed"); } }); 

JavaScript Madness: Keyboard Events

+3
source

You can use the following:

 document.onkeypress = function(evt) { evt = evt || window.event; etv = evt; switch (etv.keyCode) { case 16: // Code to do when Shift presed console.log('Pressed [SHIFT]'); break; case 17: // Code to do when CTRL presed console.log('Pressed [CTRL]'); break; case 32: // Code to do when ALT presed console.log('Pressed [ALT]'); break; } }; 
+1
source

I also needed a solution for this, so I found something that worked, cleared it so there was a lot less code, and ES6 ... JSFiddle link

 function isCapsLock(event=window.event) { const code = event.charCode || event.keyCode; if (code > 64 && code < 91 && !event.shiftKey) { return true; } return false; } document.getElementById("text").addEventListener("keypress", event => { const status = document.getElementById("status"); if (isCapsLock(event)) { status.innerHTML = "CapsLocks enabled"; status.style.color = "red"; } else { status.innerHTML = "CapsLocks disabled"; status.style.color = "blue"; } }, false); 
 <input type="text" id="text" /><br> <span id="status"></span> 
0
source

All Articles