2015-02-06 4 views
0

Я пытаюсь использовать jQuery для выполнения определенных действий, когда кто-то нажимает клавишу, например «x».Событие при нажатии кнопки

Вот мой код:

.keydown(function(event) { 
    var keycode = "" 
    function getKey(e) { 
     keycode = e.keyCode; 
    }; 
    if (keycode === 88) { 
     $('ryu-still').hide(); 
     $('.ryu-cool').show(); 
    }; 
}); 

То, что я пытаюсь сделать, это то, что в том случае, если «х» нажата, она будет скрывать этот раздел, и показать другой раздел. Поэтому я добавил функцию для захвата того, какой ключ нажат, сохраните его и затем проверьте. Если это «x», то выполните событие.

Пожалуйста, помогите!

+2

Вы не называйте свою внутреннюю функцию. Вам не нужна эта внутренняя функция. Просто сделайте 'if (e.keyCode === 88)' вместо этого. – crush

+0

@crush Я подозреваю, что он планирует усилить функцию 'getKey' для использования' keyCode' или 'charCode', в зависимости от того, что подходит. – Barmar

+0

@ Barmar Ну, тогда все, что ему нужно сделать, это вызвать его перед использованием значения keyCode. Я бы, вероятно, вернул значение, а не внешнюю переменную. – crush

ответ

0

Вот пример кода для события нажатия клавиши. Я надеюсь, что это помогает.

$(document).keypress(function(e) { 
 
    e.preventDefault(); 
 
    var code = e.which; 
 
    var cxar = String.fromCharCode(code); 
 
    $('body').append(cxar + " = " + code + "<br/>"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Click in this window and press any key<br/>

0

Как указано, внутренняя функция ничего не делает. Вы хотите что-то вроде этого:

$('body').keydown(function(event) { 
    if (event.keyCode === 88) { 
     console.log("hey, you pressed x"); 
     $('ryu-still').hide(); 
     $('.ryu-cool').show(); 
    }; 
}); 
Смежные вопросы