Tüm bu ek olarak Keycode , , charCode ve keyIdentifier : kaldırıldığını ve standart dışı özelliklerdir. Chrome 54'ten itibaren kaldırılır ve Opera 41.0 , FF'de normal karakterlerle tuşa basma olayında 0 döndürür.
charCode
keyIdentifier
keyIdentifier
keyCode
Anahtar özellik :
readonly attribute DOMString key
Basılan tuşa karşılık gelen bir anahtar özellik değerini tutar
Bu yazının yazıldığı tarih itibariyle, key
özellik tüm büyük tarayıcılar tarafından desteklenmektedir: Firefox 52, Chrome 55, Safari 10.1, Opera 46. Şu özelliklere sahip olan Internet Explorer 11 dışında:
Standart olmayan anahtar tanımlayıcılar ve AltGraph ile yanlış davranış. Daha fazla bilgi
Bu önemliyse ve / veya geriye dönük uyumluluk ise, aşağıdaki kodda olduğu gibi özellik algılamayı kullanabilirsiniz:
Bildirim o key
değeri farklıdır keyCode
ya which
ki özellikleri: Bu anahtarın değil, kod adını içerir. Programınızın karakter kodlarına ihtiyacı varsa, kullanabilirsiniz charCodeAt()
. Tek yazdırılabilir karakterler için charCodeAt()
, ArrowUp
olasılıklar gibi değerleri birden çok karakter içeren anahtarlarla uğraşıyorsanız kullanabilirsiniz : özel anahtarları test ediyorsunuz ve buna göre eylemler yapıyorsunuz. Yani anahtarları değerler bir tablo uygulamayı deneyin ve bunlara karşılık gelen kodları charCodeArr["ArrowUp"]=38
, charCodeArr["Enter"]=13
, charCodeArr[Escape]=27
... vb, bir göz atın lütfen Anahtar Değerleri ve bunların tekabül kodları
if(e.key!=undefined){
var characterCode = charCodeArr[e.key] || e.key.charCodeAt(0);
}else{
var characterCode = e.which || e.charCode || e.keyCode || 0;
}
İleriye dönük uyumluluğu göz önünde bulundurmak isteyebilirsiniz, yani eski özellikleri kullanılabilir durumdayken kullanın ve yalnızca bırakıldığında yenilerine geçin:
if(e.which || e.charCode || e.keyCode ){
var characterCode = e.which || e.charCode || e.keyCode;
}else if (e.key!=undefined){
var characterCode = charCodeArr[e.key] || e.key.charCodeAt(0);
}else{
var characterCode = 0;
}
Ayrıca bakınız: KeyboardEvent.code
mülkiyet belgeleri ve bu cevapta daha fazla ayrıntı .
.key
her büyük tarayıcı geliştiricisinde