Skip to content

Prefer KeyboardEvent#key over KeyboardEvent#keyCode ​

💼 This rule is enabled in the ✅ recommended config.

🔧 This rule is automatically fixable by the --fix CLI option.

Enforces the use of KeyboardEvent#key over KeyboardEvent#keyCode which is deprecated. The .key property is also more semantic and readable.

This rule is partly fixable. It can only fix direct property access.

Fail ​

js
window.addEventListener('keydown', event => {
	console.log(event.keyCode);
});
js
window.addEventListener('keydown', event => {
	if (event.keyCode === 8) {
		console.log('Backspace was pressed');
	}
});

Pass ​

js
window.addEventListener('click', event => {
	console.log(event.key);
});
js
window.addEventListener('keydown', event => {
	if (event.key === 'Backspace') {
		console.log('Backspace was pressed');
	}
});

Released under the Apache License 2.0.