2012-04-17 16 views
8

gedrückt wird. Ich stelle fest, dass die Löschtaste das Ereignis keypress in Chrome nicht auslöst, während andere Tasten funktionieren. Das Problem tritt nicht in Firefox auf, nur in Chrom, warum? Hier ist mein Code:kann kein Tastendruckereignis auslösen, wenn die Löschtaste

document.addEventListener('keypress', function (e) { 
    console.log(e); 
}, false); 

Antwort

14

Verwenden keydown oder keyup sondern es fängt die Löschtaste (wie auch andere, dass keypress nicht finden http://www.quirksmode.org/js/keys.html)

document.addEventListener('keydown', function (e) { 
    console.log(e); 
}, false); 
+0

Entschuldigung erfassen, habe ich eine Funktion in meinem Code Log definiert, und ich vergesse es zu der Frage hinzufügen – qiu8310

+0

Vielen Dank viel hilft es wirklich! – qiu8310

+0

@ qiu8310 Kein Problem! Achte darauf, dass du die Antworten akzeptierst, wenn es dein Problem löst :) –

2

keypress Ereignis für (Del, End, Home, etc ..) ist nicht in IE, Chrome und Safari gefeuert .. es funktioniert nur in firefox..

so können Sie das keyup oder keydown Ereignis verwenden, da das Ereignis keypress für echte (druckbare) Zeichen gedacht ist. "keydown" wird auf einer niedrigeren Ebene behandelt, so wird es alle nicht druckenden Tasten wie DEL, Ende, etc.

Verwandte Themen