2016-05-12 9 views
0

In Chrome scheint es, dass Drücken Alt Alt Keydown/Keyup Callbacks sperren. zu reproduzieren, das folgende in einer js-Konsole auf einer beliebigen Seite eingeben:Chrome Key-Ereignisse alt Tastensperren

var a = function(e){ 
console.log(e); 
}; 
document.body.onkeydown = a; 
document.body.onkeyup = a; 

klicken Sie dann auf in die Seite und drücken Sie die Tasten, sollten Sie Taste drücken und loslassen Veranstaltungen in der Konsole angezeigt. Wenn Sie jedoch wiederholt auf alt drücken, werden Sie feststellen, dass nur bei jedem zweiten Tastendruck Ereignisse angezeigt werden. In der Tat, wenn Sie einmal die Alt-Taste drücken und dann die anderen Tasten drücken, werden die Ereignisse verschluckt. Werde ich verrückt? Was zur Hölle ist das? Zur Klärung scheint alles in Firefox gut zu funktionieren.

EDIT: Die Arbeiten an Chrom auf Linux in Ordnung, funktioniert nicht auf zwei Windows-Rechner, ein 7 ein 8

Antwort

2

Wenn Sie die Taste Alt, wechselt der Fokus auf die 3-Bars Menüsymbol in der obere rechte Ecke, so dass Drücken Space würde das Menü öffnen.

Chrome Menu button location

(Drücken Alt das zweite Mal, wird der Fokus auf die Web-Seite zurückzukehren.)

Wenn dieses Verhalten nicht erwünscht ist, können Sie return false oder event.preventDefault() in Ihrem keydown Fall versuchen. Dies kann oder kann nicht funktionieren, abhängig von den Browsereinschränkungen des Schlüssels Alt.

Unter Windows 7 öffnet Firefox die Menüs Datei, Bearbeiten, Ansicht usw., wenn Sie Alt drücken. Ich bin überrascht, wenn Sie dieses Verhalten nicht bei Ihnen sehen.

Firefox menus appear when you press Alt