英語をヒンディー語のonkeyup
イベントに変換するtextarea
があります。しかし、編集のためにキャレットを後ろに移動すると、最初に入力した文字Iがヒンディー語に変換され、キャレットは文字列の最後に移動します。 textarea
内の同じ位置にキャレットを格納することができるため、文字列の最後に移動しませんか?テキストエリアを編集可能にするには?
1
A
答えて
0
この問題は、キャレットを移動するキーアップごとにテキストエリアの値を上書きしてしまうことです。
の値をに置き換えて置き換え、置き換えた後に再度設定することをお勧めします。
Stackoverflow Answer: Get Caret Position - コード変更されていない
function getCaret(el) {
if (el.selectionStart) {
return el.selectionStart;
} else if (document.selection) {
el.focus();
var r = document.selection.createRange();
if (r == null) {
return 0;
}
var re = el.createTextRange(),
rc = re.duplicate();
re.moveToBookmark(r.getBookmark());
rc.setEndPoint('EndToStart', re);
return rc.text.length;
}
return 0;
}
Stackoverflow Answer: Set Caret Position下記のリンクから答え - コード変更されていない
function SetCursorPosition(pos)
{
// HERE txt is the text field name
var obj=document.getElementById('<%= txt.ClientID %><%= txt.ClientID %>');
//FOR IE
if(obj.setSelectionRange)
{
obj.focus();
obj.setSelectionRange(pos,pos);
}
// For Firefox
else if (obj.createTextRange)
{
var range = obj.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
下記のリンクの答えから、すべての交換を回避することでこれを回避するには、いくつかの他の方法があります。キーアップイベントのテキストをボタン押し、ぼかし/ぼかしまたはその他のものに移動します。これにより、キャレット位置が最後までリセットされることを心配する必要がなくなります。
私は、テキスト変更を引き起こす別のイベントに移動するために私が見る唯一の真の不利な点は、それが瞬間的ではないということだけです。
関連する問題
- 1. CKEditorはテキストエリアで編集不可能
- 2. 一部編集不可能なテキストエリア
- 3. 編集可能DevExpress.XtraGrid.Views.Grid.GridView私はして編集の編集機能を有効に
- 4. extjsのテキストエリアを編集不可にする
- 5. sqlビューを編集可能にする
- 6. UINavigationBarタイトルを編集可能にする
- 7. Javascript:セルを編集可能にする
- 8. 編集可能なtelerik mvcグリッド表示をカスタマイズし、クリック時に編集可能にするには?
- 9. 複数行の編集可能なテキスト:編集可能なUILabel?
- 10. slickgridの編集可能な行と編集不可能な行
- 11. Shield uiグリッド階層グリッドは編集不可メイングリッド編集可能
- 12. テキストエリアとライブプレビューの双方向編集を許可する方法
- 13. 編集可能な編集テキストをリストビューに入れる方法は?
- 14. pysideチェックボックスを編集可能
- 15. Android文字列を編集可能に変換するには
- 16. qmlに編集可能なTableViewヘッダを追加するには?
- 17. JavaFX TableViewセルを編集可能にするには?
- 18. 角の編集可能なドロップダウン - 選択された値に基づいて編集可能にする
- 19. joomlaでフッタを編集してエディタ(tinymce)で編集可能にする方法
- 20. PHPで編集可能なPDFに値を挿入し、編集可能にしておきます
- 21. コンテンツ編集可能にコピー<span>
- 22. Kotlin DialogFragment EDITTEXT編集可能常にnull
- 23. AndroidスクロールWebviewカーソルに編集可能 - ソフトキーボード
- 24. Dreamweaverテンプレートで編集可能なリージョンを編集不可能なリージョンに変更する方法
- 25. 編集可能なコンボボックス
- 26. 編集可能なp:データテーブル
- 27. Android編集可能CountDownTimer Issue
- 28. Yesod編集可能テーブル
- 29. フレックスグリッド非編集可能列
- 30. jQuery編集可能なデータテーブル
キャレットがちょうど入力した文字の右側に移動するのはなぜ問題なのですか?それは正常な行動ではありませんか?新しい文字の後にキャレットが置かれない場合は、逆方向に入力します(新しい文字はそれぞれ前の文字の左に表示されます)。 – Calvin
それはそうではありません。実際には文字列の真ん中に新しい文字を挿入すると、しばらく入力した新しい文字の右側にキャレットが移動し、文字列の最後に移動します... –