Я хотел бы найти неизвестных слушателей событий
До сих пор я пытался найти всех слушателей событий на основе Этот пост , но он не работал:
getEventListeners(Element);
и
'Chrome Developer tools > Elements > Event listeners'
Существуют ли другие способы обнаружения активных прослушивателей событий?
Причина, по которой это требуется:
Я создаю 2D прорывную игру , используя чистый JavaScript на основе учебника от Mozilla и сумевший дополнить его различными функциями и несколькими уровнями.
У меня есть набор добавленных событийслушатели, а также функция, которая удаляет их, пока все работает нормально.
У меня нет прослушивателя событий для кода клавиши 13 (который является клавишей ввода)
Проблема заключается в том, что если я нажму EnterКлавиша, в то время как анимация продолжается на холсте, она меняет поведение с увеличением скорости мяча после каждого нажатия клавиши, и в конечном итоге она отображает другой рисунок.
Если я не нажимаю клавишу Enter, все работает какпредназначен.
Единственный слушатель событий, который увеличивает скорость, это событие «щелчка», но оно удаляется сразу после выполнения функции и не должно мешать игре.
Другая проблема заключается в том, что с помощью вышеупомянутых методов не обнаруживаются прослушиватели событий, даже те, которые я добавил сам, хотя они все еще работают.
Я не смог найти ничего, что относится кк этому нежелательному поведению, и я хотел бы спросить, есть ли другие способы просмотра активных слушателей событий.
Здесь - код, над которым я работаю
[ РЕДАКТИРОВАТЬ: После осознания того, что ошибка происходит из-за события keydown
, добавление preventDefault()
решило проблему.
Однако я не уверен, почему это произошло, когда изначально не было настройки e.keyCode == 13
, и почему метод preventDefault()
решил эту проблему.]