Prevent Enter Key Press of form input element
by Tobi Obeck
HTML
without <strong><code>event.preventDefault();</code></strong> the form is submitted when enter is pressed
<br>
<br>
<form>
<input id="myInput">
</form>
JavaScript
function isKeyPressed(event, expectedKey, expectedCode) {
const code = event.which || event.keyCode;
if (expectedKey === event.key || code === expectedCode) {
return true;
}
return false;
}
document.getElementById('myInput').addEventListener('keydown', function(event) {
if (isKeyPressed(event, 'Enter', 13)) {
event.preventDefault();
console.log('enter was pressed and is prevented');
}
});
// simulate and test old browsers by uncommenting
// this line
// var event = {};
// and one of these three
// event.which = 13;
// event.keyCode = 13;
// event.key = 'Enter'
/* and this block
if (isKeyPressed(event, 'Enter', 13)) {
console.log('enter was pressed');
}
*/