Edit: It is now fully supported in every browser. except for Internet Explorer
If browser compatibility is not your main concern*, you could try accessing the .repeat
property of the KeyboardEvent
, as documented here:
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
By doing something like this in your handler function:
function keyDown (e) {
if (e.repeat) { return }
// do stuff here
}
you could avoid the repeated keystrokes.
*: on the MDN site it states that it works in Firefox, and I have successfully used it in Chrome, so the two major browsers should have no problem with it