2013-08-11 18 views

cevap

4

Bu jQuery sayfası, çapraz tarayıcı tutarlılığı için olağan hale getirilmesi gereken olayı belirtir. Ancak, bu doğru değil gibi görünüyor.

jQuery özelliği adı (tarayıcı bağlı olarak, örneğin, her zaman which yerine which veya keyCode), ancak büyük ölçüde daha karmaşık olacaktır değeri özelliği, normalleştirir.

keydown/keyup'dan alacağınız anahtarın değeri yalnızca tarayıcıdan değil, klavye düzeninden de farklılık gösterir. Jan Wolter tarafından JavaScript Madness: Keyboard Events sayfasında bol miktarda gory detayı var. Diğer şeylerin arasında, o sayfada, Firefox size 109, IE (ve görünüşe göre Chrome) size 189 verecek ve Opera'nın görünüşe göre 45 kullanabileceğini görebiliyorsunuz. 109 ile gidin). (- gibi) yazdırılabilir tuş vuruşları için

, size sonuçlanan karakter verir keypress olay, daha iyi olursun.

+0

Açıklama için çok teşekkürler! –

+0

jQuery 1.11'den itibaren jQuery öğesi en azından FireFox altında 'event.which' özelliği tamamen normalleştirir. Burada görüldüğü gibi: http://jsbin.com/sozoqiro/1/edit?html ,console 'event.which' ve' event.keyCode', her iki tuşa bastığınız tuşa bağlı olarak farklı değerlere sahiptir. Örneğin e.keyCode 'sekmesi açılırken Enter tuşuna basılırken bir yazdırma karakterinin basılması' e.which 'gibi görünüyor ve aynı değerde hem “e.which” hem de “e.keyCode” ifadesini doldurur. FireFox'ta, doldurulmayan özellik değeri "0" olarak ayarlanır. – DavidScherer

+0

Chrome'da, bu normalleştirilmiş gibi görünüyor, ancak Chrome'da Sekme tuşları için 'tuşa basma 'tetiklenmiyor gibi görünüyor. – DavidScherer

İlgili konular