qiu8310
qiu8310

Reputation: 237

Can't fire keypress event when press delete key

I'm finding that the delete key doesn't fire the keypress event in Chrome, while other keys work. The problem doesn't occur in Firefox, just in Chrome, why? Here is my code:

document.addEventListener('keypress', function (e) {
     console.log(e);
}, false);

Upvotes: 21

Views: 19075

Answers (2)

Josh Davenport-Smith
Josh Davenport-Smith

Reputation: 5511

Use keydown or keyup instead, it captures the delete key (as well as others that keypress doesn't, see http://www.quirksmode.org/js/keys.html)

document.addEventListener('keydown', function (e) {
     console.log(e);
}, false);

Upvotes: 26

BrainCoder
BrainCoder

Reputation: 5337

keypress event for (Del, End, Home,etc..) is not fired in IE, Chrome and safari.. it only works in firefox..

so you can use the keyup or keydown event because the keypress event is intented for real (printable) characters. "keydown" is handled at a lower level so it will capture all non-printing keys like DEL, End, etc

Upvotes: 5

Related Questions