HTML テキストボックス内のキーボード キャレットの配置
テキストボックス内でキーボード キャレットを移動するには、JavaScript を使用して特定の位置を指定できます。
汎用関数:
function setCaretPosition(elemId, caretPos) { var elem = document.getElementById(elemId); if (elem) { if (elem.createTextRange) { // IE specific var range = elem.createTextRange(); range.move('character', caretPos); range.select(); } else if (elem.selectionStart) { elem.focus(); elem.setSelectionRange(caretPos, caretPos); } else { elem.focus(); // Fallback for browsers not supporting setSelectionRange } } }
使用法:
例:
50 文字のテキストボックスの 20 文字前にキャレットを設定する場合文字:
setCaretPosition('myTextbox', 20);
互換性:
追加メモ:
このコードを使用して (addLoadEvent 内で)、キャレットをページ フォーカス上のすべてのテキストエリアの末尾に強制的にジャンプさせることもできます。関数):
for (var i = 0; i < textAreas.length; i++) { textAreas[i].onfocus = function() { setCaretPosition(this.id, this.value.length); } }
以上がプログラムで HTML テキストボックスにカーソルを配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。