2013-03-15 3 views
7

何かを投稿したいときに、右から左に書く言語であるペルシア語を入力すると、テキストの方向は自動的にrtltext-alignment:rightに設定されます。英語で入力すると、自動的にltrtext-alignment:leftに変更されます。どのようにそのような機能を持つことができますか?これはHTML5かJavascriptで何かですか?私はどんな手がかりをとるべきですか?事前に入力テキスト言語に基づいてテキストの方向を自動的に設定する方法はありますか?

おかげ

+1

**このリンクはあなたのために非常に良いです:** http://stackoverflow.com/questions/7770235/change-text-direction-of-textbox-automatically/19449332#19449332 –

+0

ありがとうございます@ErfanSafarpoor、これはずっと以前に解決されていました;) –

答えて

2
  1. リスト左の言語に右の典型的な文字
  2. 場でそれらを検出(通常のJSイベント)に応じて
  3. 変更CSSクラス

それともこれを辿りますリンク:

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

+1

あなたが示唆したように、私は、ltrChars: 'A-Za-z \ u00C0- \ u00D6 ..... 'のようなRegExpを使って文字を検出し、 CSSクラスは必要なときにいつでも使用できます。 –

2

私はこれを行うにはjQueryのコードを書きました。その方向を設定したい要素に "checkRTL"クラスを追加するだけです。

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'; 
     } 
    }); 
}); 
関連する問題