2012-07-11 44 views
8

Tôi có biểu mẫu html. Người dùng có thể điền vào biểu mẫu bằng cả ngôn ngữ tiếng Anh và tiếng Ba Tư. nhưng tôi có đầu vào hình ảnh xác thực mà người dùng phải điền vào bằng tiếng Anh.thay đổi bố cục bàn phím với javascript

Nếu bố cục bàn phím của người dùng là tiếng Ba Tư, những gì được nhập vào trường này sẽ thay đổi thành tiếng Anh, vì vậy tôi cần một số mã được thay đổi bố trí bàn phím khi tập trung vào văn bản nhập này.

Có thể thay đổi bố cục bàn phím bằng javascript không ??

+2

Có bạn có thể, chụp mỗi lần nhấn và kiểm tra e.which sau đó thay thế các ký tự tương ứng với bố cục bàn phím mới mà bạn đang nhắm mục tiêu. –

+0

Bạn không thể phát hiện/thay đổi bố cục bàn phím thông qua javascript. – Ramesh

+0

Tôi có một vấn đề lớn, có một số bố trí bàn phím persian khác nhau trong cửa sổ và trong linux và điều này làm thay thế nhân vật phức tạp. :( –

Trả lời

6

Bạn sẽ không thể thay đổi cách bố trí bàn phím sử dụng JS, nhưng bạn có thể nắm bắt những sự kiện KeyDown và thay thế các nhân vật với một cái gì đó như thế này:

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

cảm ơn bạn nhưng có một số khác biệt bố trí bàn phím ba tư trong cửa sổ và trong linux để các mã phím không giống nhau trong cửa sổ và linux để thay thế chủ đề dễ dàng như mã của bạn :( –

+2

... bạn có thể phát hiện hệ điều hành với 'navigator.platform' :) nếu nó chỉ để chụp, một cái gì đó như http://mottie.github.com/Keyboard/ có thể là một giải pháp dễ dàng hơn? –

Các vấn đề liên quan