2012-07-11 28 views
8

Bir html formum var. Kullanıcılar hem ingilizce hem de Farsça dillerinde formu doldurabilirler. ama kullanıcıların ingilizce olarak doldurması gereken bir captcha girdim var.javascript ile klavye düzenini değiştir

Kullanıcının klavye düzeni farsça yazılmışsa, bu alana yazılanlar ingilizce olarak değiştirilmelidir, bu nedenle bu giriş metnine odaklanarak klavye düzenini değiştiren bazı kodlara ihtiyacım var.

Klavye düzenini javascript ile değiştirmek mümkün mü?

+2

Evet yapabilirsiniz, yakalama her bir tuşa basıp kontrol edin ve ardından karakterleri, hedeflediğiniz yeni klavye düzenine karşılık gelecek şekilde değiştirin. –

+0

Anahtar kartı düzenini javascript ile algılayıp/değiştiremezsiniz. – Ramesh

+0

Büyük bir sorunum var, pencerelerde ve linux'ta farklı farsça klavye düzeni var ve bu karakter değiştirmeyi zorlaştırıyor. :( –

cevap

6

Sen JS kullanarak klavye düzenini değiştirmek mümkün olmayacaktır, ancak keydown olayı yakalamak ve böyle bir şey ile karakteri değiştirebilirsiniz:

http://jsfiddle.net/SxdKZ/

$('textarea').on('keydown', function(e){ 

    console.log(e.keyCode); 
    if(e.keyCode == 90){ 
     e.preventDefault(); 
     $(this).append('y').focus(); 
    } 
    if(e.keyCode == 89){ 
     e.preventDefault(); 
     $(this).append('z').focus(); 
    } 

});​ 
+0

Teşekkürler ama biraz farklı farsça klavye düzeni windows ve linux böylece windows ve linux aynı derecede kolay temayı değiştirmek için kodunuzdaki gibi :( –

+2

iyi ... Eğer bu navigator.platform ile işletim sistemini algılayabilir :) eğer Sadece bir yakalama için, http://mottie.github.com/Keyboard/ gibi bir şey daha kolay bir çözüm olabilir? –

İlgili konular