Event.preventDefault () Firefox не предотвращает событие нажатия на кнопку ввода - PullRequest
0 голосов
/ 30 октября 2018

Я добавил прослушиватель событий для прослушивания при нажатии клавиши ввода на входах (код ниже) и при возникновении событий щелчка (код не указан).

Насколько я понимаю, поведение по умолчанию, при котором такое событие также вызывает неявное событие "щелчка" из этого ввода. Без 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);
                }
             });
       });
...