入力ボックスはどのようにしてカーソルを移動し、カーソル位置を設定しますか?

入力カーソル位置を取得する

const inputDom = document.getElementById("input")
const selectionStart = inputDom.selectionStart

入力カーソルを設定する

inputDom.focus()
// focus() 异步,所以加了 setTimeout
setTimeout(() => {
    
    
  const nextSelection = selectionStart + 1
  inputDom.setSelectionRange(nextSelection, nextSelection)
}, 0)
element.setSelectionRange(selectionStart, selectionEnd [, selectionDirection]);
  • selectionStart : 0 から始まる、選択される最初の文字の位置インデックス。この値が要素の値の長さより大きい場合、
    値の最後の位置のインデックスとして扱われます。

  • selectionEnd : 選択された最後の文字の次の位置のインデックス。この値が要素の値の長さより大きい場合、値の最後の位置のインデックスとして扱われます。

  • selectionDirection : 選択方向。forward/backward/noneselectionStart が
    selectionEnd と同じ場合、何も選択されず、カーソルはselectionStart/selectionEnd に集まります。

     如果 selectionEnd 小于 selectionStart,不选中任何,光标聚集在在 selectionEnd。
    

inputDom.setSelectionRange(0, 4) は以下のように動作します。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_43631129/article/details/131924817