Während ich weiß, dass die Erfassung von Schlüsseln aufgrund der e.keyCode
vs e.charCode
nicht trivial ist, dachte ich, dass jQuery ziemlich viel in der Lage sein würde, die meisten dieser Inkonsistenzen zu normalisieren.konsistente keyCode für `#`
Aber während answering this question Ich fand heraus, dass das Zeichen #
scheint sehr inkonsistente keyCodes (und natürlich dies gilt auch für mehrere andere Codes, meist abhängig von der Browser-und Tastaturlayout ich denke).
Chrome und IE 191 ergab, Firefox 163 auf meinem Computer, berichtet ein anderer Benutzer 222. Chromes window.event
sogar U+00BF
als keyIdentifier berichtet - die nach Unicode-Tabellen ¿
sein sollte.
Kennen Sie eine konsistente Art und Weise solche Symbole wie die #
mit inkonsistentem keycodes ohne böse etwas zu tun, um zu bestimmen, wie die folgenden:
$('input').keydown(function (e) {
if (e.which == 191 || e.which == 163 || e.which == 222){
// hope you got the right key
e.preventDefault();
}
});
Uhm ... '#' ist ein Schlüssel '3' mit' shift' Modifikator. Es gibt keinen Schlüssel '#' überhaupt – zerkms
@zerkms Ich denke, das hängt von Ihrem Tastaturlayout ab: -p – Christoph
immer noch - es ist ** Schlüssel ** nach unten. Es gibt keine Taste '#' – zerkms