Я добавил прослушиватель событий для прослушивания при нажатии клавиши ввода на входах (код ниже) и при возникновении событий щелчка (код не указан).
Насколько я понимаю, поведение по умолчанию, при котором такое событие также вызывает неявное событие "щелчка" из этого ввода. Без protectDefault будут генерироваться два события! В большинстве других браузеров warnDefault предотвращает событие click. Это не работает на Firefox, однако.
Если безопасно не устанавливать и не прослушивать событие нажатия клавиши, а вместо этого просто прослушивать неявный «щелчок», вызванный вводом?
<input class="text" id="search1input" name="q" size="50" type="text">
<input class="btn-large" type="submit" value="Search">
each(element.querySelectorAll('input, select'), (item) => {
item.addEventListener('keydown', (event) => {
if (event.keyCode == 13) {
event.preventDefault();
submit(element);
}
});
});