[javascript] Schlüsselcode und Charcode



Answers

Es ist eine bedingte Aussage.

Wenn der Browser e.keyCode unterstützt, dann nehmen Sie e.keyCode else e.charCode.

Das ist vergleichbar mit

var code = event.keyCode || event.charCode

event.keyCode : Gibt den Unicode-Wert eines Nicht-Zeichen-Schlüssels in einem keypress-Ereignis oder eine beliebige andere Taste eines anderen Tastaturereignisses zurück.

event.charCode : Gibt den Unicode-Wert einer Zeichentaste zurück, die während eines Tastendruckereignisses gedrückt wurde.

Question

Warum schreiben Leute Statement wie

e.keyCode ? e.keyCode : e.charCode

Manche Leute benutzen auch e.which

Könnte jemand bitte erklären?




Die Eigenschaft event.which wird hinzugefügt, wenn jQuery verwendet wird, um Browserunterschiede zu vermeiden. Siehe Dokumentation .

Die Eigenschaft, die nicht definiert ist, wenn Sie jQuery nicht verwenden.




Okay, hier sind die Erklärungen.

e.keyCode - wird verwendet, um die Nummer zu erhalten, die die Taste auf der Tastatur darstellt

e.charCode - eine Zahl, die das Unicode-Zeichen des Schlüssels auf der Tastatur darstellt

e.which - (jQuery-spezifisch) ist eine Eigenschaft, die in jQuery eingeführt wurde ( NICHT in normalem Javascript verwenden)

Unten ist das Code-Snippet, um den keyCode und charCode zu erhalten

<script>
// get key code
function getKey(event) {
  event = event || window.event;
  var keyCode = event.which || event.keyCode;
  alert(keyCode);
}

// get char code
function getChar(event) {
  event = event || window.event;
  var keyCode = event.which || event.keyCode;
  var typedChar = String.fromCharCode(keyCode);
  alert(typedChar);
}
</script>

Live-Beispiel zum Abrufen von keyCode und charCode in JavaScript .




Links