by Tufan Ünlü
16. Mart 2010 12:01
Merhabalar, web sayfamızda kullanıcının klavyede hangi tuşlara bastığını öğrenebilmek için javascript ile aşağıdaki kodu yazabiliriz.
var karakterKodu = event.keyCode;
Fakat bu kodun mozilla firefox ta düzgün çalışmadığını göreceğiz. Çünkü firefoxta, keyPress olayında event nesnesinin keyCode özelliği, sadece özel karakterlerin karakter kodunu döndürür. Yani sadece enter, space gibi tuşların karakter kodu dönecektir. Firefoxta bastığımız tuşun karakter kodunu alabilmek için event nesnesinin charCode özelliğini kullanmalıyız. Event nesnesinin birde which özelliği vardır. Which de bize keyPress olayında basılan tuşun karakter kodunu döndürecektir.
Kodumuzu aşağıdaki gibi düzenlersek. Tüm tarayıcılarda uyumlu bir şekilde çalışacaktır.
var karakterKodu = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
Böylece event nesnesinin keyCode özelliğine ulaşılamadığında which özelliğine, ona da ulaşılamadığında charCode özelliğine ulaşılacaktır.