Я пытаюсь выяснить, когда нажатие пустое пространство, так что я сделал следующее:JQuery для обнаружения пустого пространства
if (e.which == ' '){
}
однако это не работает. Любая идея почему?
Я пытаюсь выяснить, когда нажатие пустое пространство, так что я сделал следующее:JQuery для обнаружения пустого пространства
if (e.which == ' '){
}
однако это не работает. Любая идея почему?
event.which
возвращает код символа. пространство код ключа 32
, так что используйте его вместо:
if (e.which === 32) {
//
}
Другой способ заключается в преобразовании символов на символ кода с .charCodeAt()
:
if (e.which === " ".charCodeAt(0)) {
//
}
ПРОВЕРКА:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
Написать проверьте код и сообщите, что такое keyCode.
document.onkeypress = function(e) {
e = e || window.event;
console.log(e.keyCode || e.which);
};
Научитесь отлаживать, и вы не будете задавать эти простые вопросы.
Jquery бы
$(document).keypress(
function (e) {
console.log(e.which);
}
);
+1 - Научите человека, как ловить рыбу ...;) – webnoob
Если бы он отлаживал IE, это на самом деле вызывало ошибку, поскольку 'console.log' не существует :) – mattytommo
Вероятно, это то, что вы ищете: (. Предполагая, что вы используете KeyDown событие)
if(e.keyCode == '32') {
// Your code
}
jsFiddle: http://jsfiddle.net/DeHFL/
+1 , но просто любопытно, почему '===' в этом сценарии, а не только '=='? Нечего делать, просто интересно. – mattytommo
=== избегать некоторых тестов синтаксического анализа –
@mattytommo Это просто хорошая практика использовать '===' всюду в JS, за исключением случаев, когда вы сознательно предполагаете неявное литье типов. – VisioN