2012-04-11 21 views
5

JQuery'de keydown olayını kullanıyorum, fakat sorun giriş dili için vatansız. Girişin İngilizce dilinde mi, İbranice mi Arapça mı olduğu belirlenemez mi? yalnızca anahtar kodunu döndürür ve karakter alamıyorum.Farklı dilde charecter olsun

Herhangi bir çözüm var mı?

+0

bir jQuery eklentisi [tarayıcının dil ayarını belirlemek] Orada (https://github.com/dansingerman/jQuery-Browser-Language). Bu konuya bakın (http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference) SO thread. Sonra, her langauge'de istediğiniz karakterin klavye kodunu anlayabilirsiniz. –

+0

Bence eklenti sorunu çözmüyor. kullanıcı yazarken dili değiştirebilir. Yani, kullanıcı tarafından doğru char girişi alamıyorum. – assaqqaf

cevap

5

Gerçek karakteri belirlemek için keydown yerine keypress olayını kullanmalısınız. keydown size bir anahtar kodu sunarken, keypress, kullanıcı tarafından girilen karakteri gösterir.

Başka bir fark, kullanıcı bir tuşa basıp bir tuşa bastığında, bir keydown olayının yalnızca bir kez tetiklenmesidir, ancak eklenen her karakter için ayrı ayrı keypress olayları tetiklenir.

İşte keypress olayı kullanarak bir örnek:

<body> 
<form> 
    <input id="target" type="text" /> 
</form> 

<script src="http://api.jquery.com/scripts/events.js"></script> 
<script> 
    $("#target").keypress(function(event) { 
    var charCode = event.which; // charCode will contain the code of the character inputted 
    var theChar = String.fromCharCode(charCode); // theChar will contain the actual character 
    }); 
</script> 
</body> 
+1

Bu benim için çalıştı. Klavye düzenini değiştirdikten sonra hem Norveçli karakterleri hem de daha sonra Arapça karakterleri seçti (sayfada kalırken - yeniden yükleme yok). [İşte bir jsFiddle] (http://jsfiddle.net/wvywU/) –