私はtextarea
を持っています。英語とアラビア語の両方が使えます。言語が変更されたときに、テキストエリアのカーソル位置を変更する方法は?
英語は左から順に表示されます。したがって、カーソルは左から始める必要があります。
アラビア語は右から始まります。したがって、カーソルは右から始める必要があります。
ユーザーが言語を変更したときにカーソルの位置を変更するにはどうすればよいですか?彼の言語が英語の場合、カーソルは左になければならず、その逆もあります。
ユーザは、キーボードのALT + SHIFT
を使用して言語を変更できます。
私はこれを試しましたが、私には何の結果も与えませんでした。
<textarea class="form-control description arabic" id="txt_desc" name="txt_desc"
placeholder="Description"></textarea>
.arabic{text-align:right;}
<script type="text/javascript">
jQuery(document).ready(function($) {
var reverseFunc = function() {
$('textarea').each(function() {
if($(this).hasClass('arabic')) {
// do the invert magic...
var val = $(this).val();
var newVal = val.charAt(val.length-1) + substr(0, val.length-1);
$(this).val(val);
}
});
}
$('textarea').bind('keyup', reverseFunc);
});
</script>
使用してshiftkey:
var x = document.getElementById("txt_desc");
if (event.shiftKey) {
document.getElementById('txt_desc').style.direction="rtl";
}else{
document.getElementById('txt_desc').style.direction="ltr";
}
ポスを追加するなら、keyUpイベントの最初の文字をチェックします[右から左のテキストHTML入力]の複製が可能です(https://stackoverflow.com/questions/7524855/right-to-left-text-html-input) – RogerC