Ваша функция в порядке, если вы используете ее как обработчик keydown
(а не keypress
):
const onEnter = (e) => {
if (e.key === "Enter") {
e.preventDefault();
console.log('e:', e.target.value);
}
};
document.getElementById("the-input").addEventListener("keydown", onEnter);
<input type="time" id="the-input">
Протестировано и работает на Chrome и Firefox. Legacy Edge открывает раскрывающееся меню в фокусе, поэтому его поведение не зависит от нажатия клавиши Enter. (Более новый Edge на основе Chromium предположительно имеет поведение Chrome.)