как изменить имя класса в keydown, используя js / jquery

#javascript #jquery

#javascript #jquery

Вопрос:

как я могу переключить класс на определенный keydown для ex keydown == 84 ,
GIF : https://gyazo.com/a6658c29e2317d7d7163e7d2804b6c9b

я пробовал что-то подобное, но я очень далек от того, чтобы заставить его работать, на gif выше я нажимаю на переключатель-btn

     $(function () {
  $("#enemyCellSkin").bind("keydown", function (e) {
    if (e.keyCode == 84) {
      send();
      return false;    
    };

    if (e.keyCode == 84) {
      $("#enemyCellSkin").removeClass('toggle-btn.active').addClass('toggle-btn');
    };
  });
});
  

Комментарии:

1. Если код ключа соответствует 84, первый if оператор возвращается из функции-обработчика, поэтому второй if не будет выполняться вообще.

2. я не так много знаю о javascript / jquery, что я хочу сделать, это переключить настройку во время игры нажатием клавиши, поэтому мне не нужно нажимать меню, открывать вкладку настроек и отключать ее, нажимая ,

Ответ №1:

при этом вы можете нажать код ключа 84, и метод toggleClass выполнит свою работу

 $(document).keydown(function(e) {
    if (e.which ==  84){
        $('#target').toggleClass('red');
    }
});  
 .red {
    height: 50px;
    width: 50px;
    background-color: red;
}  
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>

    
    <div id="target">test</div>


</body>
</html>  

Комментарии:

1. как насчет только класса, это путь js document.querySelector("#enemyCellSkin > div.toggle-btn.active")

2. неважно, я получил к нему доступ с помощью document.querySelector('#enemyCellSkin > div:nth-child(2)')