ok, ich brauche meinen Code zu überprüfen, ob minus/subtrahieren/- gedrückt wurde, wenn es gedrückt wurde möchte ich eine Alarmbox zu Pop. Ich versuchte mit 109
und 189
Schlüsselcodes, aber ich bekomme immer noch nicht das gewünschte Ergebnis. obwohl ich "-"
drücken bekomme ich nicht, dass WarnfeldJavaScript subtrahieren (-) Schlüsselcode
Antwort
Die JavaScript charCodes, die Sie während eines Tastendruckereignis zu testen, sind ASCII. 109 ist die korrekte keyCode, wenn in einem Keydown oder Keyup-Ereignis verwendet.
"-" hat eine charCode von 45.
Beitrag einige Code. Dies funktioniert für mich:
document.onkeydown = function (e) {
if (e.keyCode === 109 || e.keyCode === 189) {
alert('minus sign pressed');
}
};
Liste von Tastencodes hier: http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx
Tun Sie dies nicht im "keydown" -Ereignis. Siehe meine Antwort. –
189 ist nicht das Minuszeichen für alle Tastaturlayouts. –
In der Beispielseite ist das Tastaturlayout Englisch. Das ist nicht überall der Fall. – kernel
Sie können keycodes auf diese Weise entdecken:
erster Link ist nicht mehr gültig – abzarak
@abzarak, fixed –
Ich hoffe, Dies funktioniert für Sie, es erkennt Benutzer vor ssed keys und wenn Sie nach dem Alarm suchen, können Sie den tatsächlichen Schlüssel als einen anderen Schlüssel ändern.
function detectSubstract(e)
{
var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
var actualkey=String.fromCharCode(unicode)
if (actualkey=="-")
{
alert('You pressed the minus key')
}
}
document.onkeypress=detectSubstract
Tun Sie dies nicht in einem keydown
Event-Handler - Sie selbst von verschiedenen Browsern Ideen über Tastencodes und mögliche Unterschiede zwischen dem Tastencodes für verschiedene Tastaturtypen auf Gedeih und Verderb setzen. Tun Sie es in einem keypress
Ereignis und dann können Sie stattdessen den Zeichencode erhalten, was Sie eigentlich wollen.
document.onkeypress = function(evt) {
evt = evt || window.event;
var charCode = evt.which || evt.keyCode;
var charStr = String.fromCharCode(charCode);
if (charStr == "-") {
alert("Minus!");
}
};
die alle Informationen, die Sie jemals über JavaScript Schlüsselereignisse braucht: http://unixpapa.com/js/key.html
Eigentlich ist 'keydown' eine bessere Antwort als' keypress'. Wenn Sie sich die Kompatibilitätsliste ansehen (http://www.quirksmode.org/js/keys.html), hat 'keypress' in einigen älteren Versionen von Firefox nicht funktioniert. – Mottie
@fudgey: Ich denke, Sie lesen diese Kompatibilitätstabellen falsch . Die 'charCode'- und' which'-Eigenschaften des 'keypress'-Ereignisses haben in Firefox seit dem ersten Ausprobieren erfreulicherweise Zeichencodes korrekt gemeldet, was meiner Meinung nach vor 1.0 war. Was Sie möglicherweise aus diesen Tabellen herausholen, ist, dass Firefox immer 0 für die Eigenschaft 'keyCode' von' keypress'-Ereignissen meldet, was hier wirklich kein Problem ist. –
@TimDown Danke. Chrome arbeitete mit onkeydown und den Tastencodes 109 und 189, Firefox jedoch nicht. Nach dem Wechsel zur Onkeypress und zu der von Ihnen beschriebenen Methode funktioniert die Erkennung von "-" überall gut. –
1.event.keyCode = 109 '-' Numpad
2.event.keyCode = 189 ist -‘in alphabate keybord Taste auf Chrom
3.event.keyCode = 173 ist '-' in alphabate keybord Taste auf firefox & auf Chrom 173 keycord ist Mute on | Off
Ich schätze Ihre Einsicht, wie Firefox 'keyCode 189' handhabt. Es scheint mir albern, dass es für solche Sachen keine Standards gibt. 'keyCode 189' ist ein' -' in jedem Browser, den ich mit Ausnahme von Firefox teste. Erinnert mich daran, dass IE gerne ein Browser-Vorreiter ist, ungeachtet der Inkompatibilitätsprobleme, die sich aus dem wilden Schleppen der Machete ergeben. Danke nochmal für deine Hilfe. – Landslyde
danke, wo finde ich eine komplette liste der JavaScript keycodes? Ich fand ein oder zwei, aber dort fand ich "-" als 109 und 189 – kmunky
http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx – Matt
ok, ich finde einen guten: P http://forums.dearticles.com/javascript-development-22/very-helpful-key-codes-list-72985.html – kmunky