Reputation: 889
So lets say that I have code that checks if an keypress was a number
if (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 ) {
// number entered, do something
} else if (e.keyCode === 8) {
// backspace pressed
}
How would I go about changing these checks to use event.key as event.keyCode is depreciated. Is it as easy as I think it is?
In particular how to I use e.key with the backspace key
Upvotes: 1
Views: 1699
Reputation: 42746
You just change it to use the name of the key being pressed. For letters it is the letter pressed, a = "a", A = "A", z = "z" etc. Number is the the string version of the number 1 = "1", 2 = "2" etc. For control keys it is the name of the key, ctrl = "Control", backspace = "Backspace", etc.
A list can be seen here
So if you are needing to test for number range you can get the key
value and coerce it to a number and just do the applicable comparison, as for backspace just compare against the string "Backspace"
//coerce it to a number
numKey = +e.key;
if (!isNaN(numKey) && numKey >= 0 && numKey <= 9 ) {
// number entered, do something
} else if (e.key == "Backspace") {
// backspace pressed
}
Upvotes: 1