私のウェブサイトでは、アラビア語のサポートを提供する必要があります。その一部は、ユーザーが入力するときに、新しい文字を左に追加し、テキストを右揃えにする入力テキストボックスを提供することです。
cssプロパティを設定する
text-align:right
カーソルが左に来てそこに文字を追加することができなかったので、うまくいきませんでした。だから私はそのプロパティを削除して追加しました
direction:RTL
ここで、カーソルは左に来て、テキストは右揃えになりました。しかし、新しく追加された文字は左側に追加されませんでした。代わりに、右端にのみ追加されていました。
どうすれば修正できますか?助けてください..
たとえば、Googleアラビア語ページの検索ボックスをご覧ください。派手なキーボードアイコンなどではなく、正確な動作が必要です http://www.google.com/webhp?hl=ar
ここに私が考えることができるものがあります:
direction:RTL
右揃えの場合入力でdir = "rtl"を使用できます。サポートされています。
<input dir="rtl" id="foo"/>
function rtl(element)
{
if(element.setSelectionRange){
element.setSelectionRange(0,0);
}
}
<input type="text" name="textbox" style="direction:RTL;" onkeyup="rtl(this);"/>
このコードでできます。
direction:RTL
のみを使用し、システム設定で適切なキーボード(アラビア語など)に切り替えると、新しく追加された文字が正しく左側に追加されます。
Cssの入力で使用します。
input {
unicode-bidi:bidi-override;
direction: RTL;
}
Chromeブラウザで動作します。
div要素を使用して編集可能にします。
<div contenteditable="true">
</div>
Angular Materialに加えて、方向:rtlに固有の機能は次のとおりです。
.mat-form-field {
text-align: start!important;
}
これはRLTとLTRの両方で機能します