2013-03-15 27 views
7

Trong Google cộng (và nhiều địa điểm khác), khi tôi muốn đăng nội dung nào đó, khi tôi nhập bằng tiếng Ba Tư, ngôn ngữ từ phải sang trái, hướng văn bản được tự động đặt thành rtltext-alignment:right, và khi tôi bắt đầu nhập bằng tiếng Anh, nó sẽ tự động thay đổi thành ltrtext-alignment:left. Làm thế nào tôi có thể có chức năng như vậy? Đây có phải là bất kỳ thứ gì với HTML5 hoặc Javascript không? Tôi nên theo dõi những manh mối nào?Làm cách nào để tự động đặt hướng văn bản dựa trên ngôn ngữ nhập văn bản?

Cảm ơn trước

+1

** liên kết này là rất tốt cho bạn: ** http://stackoverflow.com/questions/7770235/change-text-direction-of-textbox-automatically/19449332#19449332 –

+0

Cảm ơn bạn @ErfanSafarpoor, Điều này đã được giải quyết từ lâu BTW;) –

Trả lời

2
  1. danh sách quyền ngôn ngữ trái nhân vật điển hình
  2. phát hiện chúng một cách nhanh chóng (sự kiện js bình thường)
  3. lớp thay đổi css phù

Hoặc làm theo này liên kết:

http://www.i18nguy.com/temp/rtl.html

+1

Vâng, Như bạn đã đề xuất, tôi phát hiện các ký tự sử dụng RegExp như 'ltrChars: 'A-Za-z \ u00C0- \ u00D6 .....' và thay đổi Các lớp CSS bất cứ khi nào chúng cần thiết. –

2

tôi đã viết một mã JQuery để làm điều này. Chỉ cần thêm lớp "checkRTL" vào phần tử bạn muốn đặt hướng của nó.

var rtlChar = /[\u0590-\u083F]|[\u08A0-\u08FF]|[\uFB1D-\uFDFF]|[\uFE70-\uFEFF]/mg; 
$(document).ready(function(){ 
    $('.checkRTL').keyup(function(){ 
     var isRTL = this.value.match(rtlChar); 
     if(isRTL !== null) { 
      this.style.direction = 'rtl'; 
     } 
     else { 
      this.style.direction = 'ltr'; 
     } 
    }); 
}); 
Các vấn đề liên quan