2016-05-24 3 views
0

Я хочу проверить, был ли нажат/освобожден ключ перехода в javascript.Как проверить, был ли выпущен определенный ключ на клавиатуре?

Они, как я видел это:

document.addEventListener('keyup', function(event) { 
    //returns a number for key 
    console.log(event.keyCode); 
}); 

Однако, когда я пошел на Mozilla он говорит, что «.keyCode» является устаревшим использование «.key» вместо этого. Что я и сделал, но когда я изменил код для этого:

document.addEventListener('keyup', function(event) { 
    //returns a number for key 
    console.log(event.key); 
}); 

Это не будет работать, он сказал в консоли «не определено». Любые идеи почему?

Также Mozilla - лучшее место для посещения, потому что, как новичок, мне трудно понять. Спасибо

+1

Возможный дубликат [Как узнать, какой ключевой символ нажата?] (Http://stackoverflow.com/questions/1846599/how-to -find-out-what-character-key-is-press) –

+0

Я всегда использовал .keyCode. Объект события не имеет свойства .key, поэтому он не регистрируется в консоли. – IrkenInvader

+0

@IrkenInvader жаль, что я новичок, что вы имеете в виду, не имеет ключевого свойства? спасибо –

ответ

0

Проблема заключается в том, что вы добавляете слушателя в document, когда его следует добавить в window. Например,

window.addEventListener('keyup', function(ev) { 
    console.log(ev.key); 
}); 
+0

Спасибо, но я попробовал и все еще получаю undefined –

0

Необходимо подключить прослушиватель событий к окну. Это может отличаться браузером, но это сработало для меня.

window.addEventListener("keyup", function (event) { 
 
    
 
     if(event.key === "Escape"){ 
 
     console.log("Escape was released."); 
 
     } 
 
    
 
     // Consume the event for suppressing "double action". 
 
     event.preventDefault(); 
 
    }, true);

Try it on CodePen!

Смежные вопросы