Ich habe einfach folgenden Code:STRG-Taste Check für rechts ALT in Javascript
var input = document.getElementsByTagName('input')[0];
var pre = document.getElementsByTagName('pre')[0];
var ctrl = false;
input.addEventListener('keydown', function(e) {
if (e.which == 17) {
ctrl = true;
}
pre.innerHTML += 'keydown: ' + JSON.stringify({
location: e.location,
ctrlKey: ctrl,
altKey: e.altKey,
which: e.which
}) + '\n';
});
input.addEventListener('keyup', function(e) {
if (e.which == 17) {
ctrl = false;
}
pre.innerHTML += 'keyup: ' + JSON.stringify({
location: e.location,
ctrlKey: ctrl,
altKey: e.altKey,
which: e.which
}) + '\n';
});
<input>
<pre>
</pre>
Und in Google Chrome die gleiche wie in Firefox und Internet Explorer 10, wenn Sie mit der rechten alt drücken Sie die e.ctrlKey
ist Auf True gesetzt, habe ich versucht, es zu beheben, indem ich die globale Variable ctrl und setzen Sie es auf Keydown auf true gesetzt und auf false gesetzt, aber das hat es nicht behoben, weil, wenn Sie rechts Alt Taste für CTRL gedrückt und gedrückt wird das selbe für keyup.
Ist das ein Fehler oder irgendwo in einer Spezifikation?
Gibt es eine Möglichkeit zu wissen, ob Links Alt gedrückt wurde ohne Ctrl Schlüssel?
Danke für die Klarstellung. Ich habe das gerade auf einem anderen Laptop getestet, der nicht Alt Gr und nur Alt auf der Tastatur hat und einen Keydown/Keyup für die richtige Alt sendet. – jcubic