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.
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
Ö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!"); } }
Ö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
İ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