首頁 > web前端 > js教程 > 如何取得所選內容在其父容器中的開始和結束偏移量?

如何取得所選內容在其父容器中的開始和結束偏移量?

Patricia Arquette
發布: 2024-11-19 14:12:02
原創
184 人瀏覽過

How to Get the Start and End Offsets of a Selection within its Parent Container?

取得範圍相對於其父容器的開始和結束偏移

在HTML 文件中,使用者選擇可以擴展到不同的元素和文字節點。確定所選內容的父容器內字元的確切範圍可能具有挑戰性。但是,無論瀏覽器如何變化,我們都可以利用各種技術來實現這一目標。

一種方法涉及克隆選擇範圍並將其端點設定為父容器的起點和終點。透過將結果文字內容與原始選擇範圍進行比較,我們可以計算相對於父級的開始和結束偏移量。以下是 JavaScript 中的範例:

function getSelectionCharacterOffsetWithin(element) {
  var start = 0;
  var end = 0;
  var preCaretRange = range.cloneRange();
  preCaretRange.selectNodeContents(element);
  preCaretRange.setEnd(range.startContainer, range.startOffset);
  start = preCaretRange.toString().length;
  preCaretRange.setEnd(range.endContainer, range.endOffset);
  end = preCaretRange.toString().length;
  return { start: start, end: end };
}
登入後複製

此方法提供父容器內的開始和結束偏移量,考慮 HTML 標籤和文字節點遍歷。它可用於需要精確字元偏移的各種應用程序,例如文字編輯工具和內容操作腳本。

以上是如何取得所選內容在其父容器中的開始和結束偏移量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板