2016-05-24 9 views
0

Ich möchte überprüfen, ob der Escape-Schlüssel in Javascript gedrückt/freigegeben wurde.Wie überprüfe ich, ob ein bestimmter Schlüssel auf der Tastatur freigegeben wurde?

Sie so, wie ich gesehen habe, ist dies:

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

Jedoch, wenn ich auf Mozilla ging es sagt der ‚.keyCode‘ veraltet Verwendung wird ‚.key‘ statt. Was ich tat, aber wenn ich den Code auf diese geändert:

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

Es wäre es in der Konsole ‚undefined‘ nicht funktioniert, sagte. Irgendwelche Ideen warum?

Auch Mozilla ist der beste Ort zu gehen, denn als Anfänger finde ich es schwierig zu verstehen. Danke

+1

Mögliche Duplikat von [Wie, um herauszufinden, was Zeichentaste gedrückt wird?] (Http://stackoverflow.com/questions/1846599/how-to -find-out-which-character-key-is-pressed) –

+0

Ich habe immer .keyCode verwendet. Ihr Ereignisobjekt verfügt nicht über die Eigenschaft .key, weshalb es in der Konsole undefiniert protokolliert wird. – IrkenInvader

+0

@IrkenInvader sorry Ich bin ein Anfänger, was meinst du mit keine Schlüsseleigenschaft? danke –

Antwort

0

Das Problem ist, dass Sie Ihren Listener zu document hinzufügen, wenn es zu window hinzugefügt werden soll. Zum Beispiel

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

Danke, aber ich habe es versucht und immer noch undefiniert –

0

Sie müssen den Ereignis-Listener an das Fenster anhängen. Das kann sich vom Browser unterscheiden, aber es hat für mich funktioniert.

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!

Verwandte Themen