@Anickdot

Как задать сочетание клавиш в JS?

У меня на сайте есть кнопка "отправить", которая публикует написанный комментарий.

Мне нужно сделать так, чтобы на эту кнопку можно было нажать сочетанием клавиш Tab+Enter.

У меня есть вот такая функция, которая по нажатию ctrl+w все отлично отправляет. Но стоит заменить эти клавиши на tab и enter, браузер начинает прыгать по формам (обычная функция кнопки tab)

window.onkeydown = function(event) {
 if (event.ctrlKey && event.keyCode === 87) {

                      event.preventDefault();
                      document.getElementById("tickets_send").onclick();
                      return;
}


Я пытался перед этой функцией прописывать такое:
if (event.keyCode === 9) {event.preventDefault(); return;}


Таб это отключает, но и само сочетание клавиш работать отказывается. Как бы мне правильно это оформить?
  • Вопрос задан
  • 6873 просмотра
Решения вопроса 1
@Anickdot Автор вопроса
Получилось решить элегантным кодом с тремя условиями, все другие отказались работать:

var tabIsPressed = false;

$(window).keydown(function(event){
    if(event.keyCode == 9) {
        tabIsPressed = true; event.preventDefault();
    }
}); 

$(window).keyup(function(event){
    if(event.keyCode == 9) {
    tabIsPressed = false; event.preventDefault();
    }    
});

$(window).on('keydown', function(e) {
  if (tabIsPressed && event.keyCode === 13) {
                      event.preventDefault();
                      document.getElementById("tickets_send").onclick();
                      return;
    }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы