簡體   English   中英

如何在 Javascript 中恢復插入符號位置?

[英]How to restore caret position in Javascript?

我試圖實現當用戶按下重置按鈕時,光標位置回到輸入的開頭。

誰能指導我如何實現這一目標?

在此處輸入圖片說明

 function restore(){ // here need to set the position };
 p { text-align:left; padding:10px; font-size: 20px; font-family: "Open Sans"; border:1px black solid; } button{ font-size: 25px; }
 <p contenteditable="true"></p> <button onclick="restore()">Restore</button>

您可以使用本答案中所述的RangeSelection對象:

 function restore() { var el = document.getElementById("editable"); var range = document.createRange(); var sel = window.getSelection(); range.setStart(el, 0); range.collapse(true); sel.removeAllRanges(); sel.addRange(range); }
 p { text-align:left; padding:10px; font-size: 20px; font-family: "Open Sans"; border:1px black solid; } button{ font-size: 25px; }
 <p id="editable" contenteditable="true"></p> <button onclick="restore()">Restore</button>

如果您可以使用 Input 標簽而不是 P 標簽,則此代碼是合適的:

 function myFunction() { var text = document.getElementById("myInput"); text.select(); text.setSelectionRange(text.value.length, text.value.length) }
 button{ font-size: 25px; }
 <input type="text" value="hello" id="myInput"> <button onclick="myFunction()">Copy text</button>

暫無
暫無

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

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