2012-07-11 66 views
8

我有一个html表单。用户可以用英语和波斯语填写表格。但我有一个验证码输入,用户应该用英文填写。用javascript更改键盘布局

如果用户的键盘布局是什么波斯在此字段中键入应更改为英语,所以我需要一些编码的上专注于这个输入文本更改键盘布局。

是否possbile用JavaScript来改变键盘布局?

+2

当然可以,捕获每次按键并检查e.which,然后替换字符以对应您正在定位的新键盘布局。 – 2012-07-11 06:42:02

+0

您无法通过javascript检测/更改键盘布局。 – Ramesh 2012-07-11 06:44:18

+0

我有一个大问题,在Windows和Linux中有一些不同的波斯键盘布局,这使字符替换变得复杂。 :( – 2012-07-11 06:48:53

回答

6

您将无法更改使用JS的键盘布局,但可以捕捉到keydown事件,并用这样的替换字符:

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

谢谢你,但也有一些不同波斯语键盘布局在Windows和Linux中这样的关键字码不会在Windows和Linux一样更换主题很容易喜欢你的代码:( – 2012-07-11 07:11:42

+2

好...你可以检测OS与'navigator.platform' :) 如果它是只是为了捕获,像http://mottie.github.com/Keyboard/可能是一个更简单的解决方案? – 2012-07-11 07:14:04