將插入符號放置在可內容編輯元素中的特定位置
處理可內容編輯元素時,能夠設定遊標(插入符號)到一個特定的位置可能是至關重要的。然而,要實現這一目標可能並不簡單。
在大多數 Web 瀏覽器中,利用 Range 和 Selection 物件是關鍵。透過將每個選擇邊界指定為節點以及該節點內的偏移量,您可以控制插入符號的位置。
為了說明這一點,請考慮一個帶有contenteditable div 的簡單HTML 範例:
<div>
現在,假設您要將插入符號放置在第二行文字的第五個字符處。為此,請依照下列步驟操作:
建立範圍物件:
var range = document.createRange();
設定評選邊界:
var myDiv = document.getElementById("editable"); range.setStart(myDiv.childNodes[2], 5); range.collapse(true);
設置選擇:
var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range);
觸發函數:
附加上面的程式碼為點擊事件按鈕:
document.getElementById("button").addEventListener("click", setCaret);
以上是如何以程式設計方式將插入符定位在內容可編輯元素中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!