Получение странных результатов при подключении одного и того же респона к нескольким слушателям - PullRequest
0 голосов
/ 28 января 2019

Я прикрепляю одну кнопку submit() к кнопке и клавише ввода.На новой странице они оба прикрепляются и отвечают, как правило, работая submit() один раз.Проблема возникает только после запуска события click, затем событие нажатия клавиши запускается submit() два раза, а не один раз, в то время как щелчок продолжает нормально реагировать.

Мне кажется, что я делал это раньше и решил (или просто пропустил) после реализации getSubmit() с некоторыми if() или возврата чего-либо, но я чувствую, что это должно сработать.

var bindCtrlr = (function() {

    var submit = () => console.log('hi')

    document.querySelector('.add__btn').addEventListener('click', submit, false)

    document.addEventListener('keypress', function(e) {
        if (e.keyCode === 13 || e.which === 13) {
            submit()
        }
    }, false)

})()

submit() должен всегда запускаться один раз при нажатии .add__btn или нажатии клавиши ввода.

1 Ответ

0 голосов
/ 28 января 2019

Причина, по которой он запускается дважды, заключается в том, что событие нажатия кнопки также запускается при вводе.Но он срабатывает только дважды, если фокус все еще остается на кнопке после нажатия на нее.Когда фокус не на кнопке, она срабатывает только один раз.Надеюсь, это поможет вам.

...