私はコンテンツ編集可能なdivから選択したテキストを保存し復元する方法について2つの機能を示すこの記事を見に行きました。私はcontenteditableとして設定された下のdivと、もう一方の投稿からの2つの関数を持っています。これらの機能を使用して、選択したテキストを保存および復元する方法。contenteditable選択されたテキスト保存と復元
<div style="width:300px;padding:10px;" contenteditable="true">test test test test</div>
<script>
function saveSelection() {
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
return sel.getRangeAt(0);
}
} else if (document.selection && document.selection.createRange) {
return document.selection.createRange();
}
return null;
}
function restoreSelection(range) {
if (range) {
if (window.getSelection) {
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
} else if (document.selection && range.select) {
range.select();
}
}
}
</script>
役立つことを願っていますdoc:https://developer.mozilla.org/en/DOM/range)。基本的に、範囲はそのノード内のノードとオフセットで構成されます。範囲とともにHTMLを保存する1つの方法は、「キャレット」を使用することです(アイデアについてはClosure Libraryを参照してください:http://closure-library.googlecode.com/svn/docs/class_goog_dom_SavedCaretRange.html)。 – yonran