@m_xplay_official

Как повесить событие по нажатию на клавишу в JS?

Имеется такая необходимость что бы при нажатии на клавишу "enter" отработало событие в js связанное с <button>

Немного HTML структуры:
<button type='submit' id='passage' style='display:none'></button>
  • Вопрос задан
  • 1338 просмотров
Решения вопроса 3
nyakove
@nyakove
На чистом JS (без jQuery):

document.addEventListener('keydown', someFunc)

function someFunc(event) {
    if (event.key == "Enter") {
        //do something  
    }
}


Если нужно отслеживать нажатие не на всей странице, то отслеживание привязывается к конкретному элементу (форме, инпуту и т.д. )
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
$("#some_text_box").keyup(function(event) {
    if (event.keyCode === 13) {
        $("#passage").click();
    }
});

Не уверен, что сработает при display:none.
Ответ написан
wapster92
@wapster92 Куратор тега JavaScript
button так и так отработает по нажатию enter даже, если display: none; . А если нужно какое-то кастомное действие, то:
document.addEventListener('keydown', function (e) {
   if (e.keyCode === 13 ) {
      e.preventDefault();
      // ваш код
   }
})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@vardoLP
Ват ю сэй эбаут май мама?!
Ответ написан
Комментировать
djQuery
@djQuery
"Кодируем помаленьку" ("Сказка о Тройке")))
Вот здесь краткое объяснение с примерами. Кстати, форма и так отправляет данные на сервер при нажатии Enter.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы