簡體   English   中英

setSelectionRange 不是函數

[英]setSelectionRange is not a function

這看起來很簡單,但它不起作用:

 document.getElementById('test').setSelectionRange(3,3)
 <div id="test">test</div>

谷歌瀏覽器。

<input id="test" value="hello world" />

var InputElement = $('test')[0] as HTMLInputElement;
InputElement.setSelectionRange(3, 3);

這是因為 'test' 元素必須是<input/>元素。 嘗試如下修改您的 HTML:

<input id="test" />

還要考慮對您的 javascript 進行以下更改。 通過對您的代碼進行這些更新,當您的輸入字段中有足夠的文本時,您的 javascript 應該可以按預期工作。 例如,考慮在“hello world”中選擇“world”的代碼:

 const input = document.getElementById('test'); input.focus(); input.setSelectionRange(6,11);
 <input id="test" value="hello world" />

有關更多信息, 請參閱setSelectionRange()的 MDN 文檔

要在<div>上進行此操作,您應該使其可編輯:

<div id="test" contenteditable="true">test</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM