KeyboardEvent which özelliği

Tanım ve kullanım

which özelliği tetikleyen onkeypress olayı tuşunun Unicode karakter kodu, veya tetikleyen onkeydown veya onkeyup Olayın tuşunun Unicode tuş kodu.

İki kod türünün farkı:

  • Karakter kodu - ASCII karakterini temsil eden sayı
  • Tuş kodu - Klavyedeki gerçek tuşu temsil eden sayı

Bu türler her zaman aynı şeyi ifade etmez. Örneğin, küçük "w" ve büyük "W" klavye kodları aynıdır çünkü klavyede basılan tuş aynıdır ("W" = sayı "87"), ancak karakter kodları farklıdır çünkü resulting karakter farklıdır ("w" veya "W", yani "119" veya "87") - Aşağıdaki daha fazla örneği gözden geçirmek, bu noktayı daha iyi anlamak için yardımcı olabilir.

İpucu:Kullanıcının basıp basmadığını anlamak için basılabilir tuşları (örneğin "a" veya "5") öğrenmek için bu özelliği onkeypress olayında kullanmanız önerilir. Kullanıcının fonksiyon tuşlarını (örneğin "F1", "CAPS LOCK" veya "Home") basıp basmadığını öğrenmek için onkeydown veya onkeyup olaylarını kullanın.

Açıklama:IE8 ve daha eski sürümler which özelliğini desteklememektedir. Bu tarayıcı sürümleri için keyCode özelliğini kullanabilirsiniz. Ancak, keyCode özelliği Firefox'taki onkeypress olayında çalışmaz. Çapraz tarayıcı çözümü için aşağıdaki kodu kullanabilirsiniz:

var x = event.which || event.keyCode;  // which veya keyCode kullanmak, tarayıcı desteğine bağlıdır

İpucu:Tüm Unicode karakterlerin listesi için, bizim Tam Unicode referansı.

İpucu:Unicode değeri karaktere dönüştürmek istiyorsanız: fromCharCode() yöntemi.

Açıklama:Bu özellik yalnızca okunabilir.

Açıklama:keyCode ve which özellikleri uyumluluk için sağlanmıştır. En yeni DOM olay规范u, (varsayılan olarak) key özelliğini kullanmanızı önerir.

İpucu:Eğer tıklama olayı meydana geldiğinde "ALT", "CTRL", "META" veya "SHIFT" tuşlarının basılı olup olmadığını bilmek istiyorsanız, aşağıdaki kullanın: altKeyvectrlKeyvemetaKey veya shiftKey Özellik.

Örnek

Tıklanan klavye tuşunun Unicode değerini almak için:

var x = event.which;

Sayfa altında daha fazla TIY örneği bulunmaktadır.

Kişisel Deneyim

Gramer

event.which

Teknik ayrıntılar

Dönüş değeri: Sayısal değerler, Unicode karakter kodları veya Unicode klavye kodlarını temsil eder.
DOM sürümü: DOM Level 2 Events

Tarayıcı desteği

Tabloda belirtilen rakamlar, bu özelliği tamamen destekleyen ilk tarayıcı sürümünü gösterir.

Özellik Chrome IE Firefox Safari Opera
which Desteklenen 9.0 Desteklenen Desteklenen Desteklenen

Daha fazla örnek

Örnek

onkeypress ve onkeydown kullanarak karakter kodları ile klavye kodları arasındaki farkı göstermek için:

<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> 
function uniCharCode(event) {
  var char = event.which || event.keyCode; // event.keyCode IE8 ve daha eski sürümler için kullanılır
  document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
  var key = event.which || event.keyCode; // event.keyCode IE8 ve daha eski sürümler için kullanılır
  document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}

Klavyedeki "a" tuşuna basarken (Capslock kullanılmadan), char ve key'in sonuçları şöyledir:

Unicode CHARACTER kodu: 97
Unicode KEY kodu: 65

Kişisel Deneyim

Örnek

Kullanıcı Escape tuşuna bastığında bazı metinler göster:

<input type="text" onkeydown="myFunction(event)"> 
function myFunction(event) {
  var x = event.which || event.keyCode; // event.keyCode IE8 ve daha eski sürümler için kullanılır
  if (x == 27) {  // 27 ESC tuşunun kodudur
    alert ("Kaçış tuşuna bastınız!");
  }
}

Kişisel Deneyim

Örnek

Unicode değeri karaktere dönüştür (işlev tuşları için geçerli değil):

var x = event.which || event.keyCode;   // Unicode değeri al
var y = String.fromCharCode(x);         // Değerleri karaktere dönüştür

Kişisel Deneyim

İlgili Sayfalar

HTML DOM Kaynak Kılavuzu:KeyboardEvent key özelliği

HTML DOM Kaynak Kılavuzu:KeyboardEvent keyCode özelliği

HTML DOM Kaynak Kılavuzu:KeyboardEvent charCode özelliği