Tôi đã xem bài đăng này cho thấy 2 chức năng về cách lưu và khôi phục văn bản đã chọn từ div được chỉnh sửa nội dung. Tôi có bộ div bên dưới là có thể chỉnh sửa được và chức năng 2 từ bài đăng khác. Làm thế nào để tôi sử dụng các chức năng này để lưu và khôi phục văn bản đã chọn.nội dung đã chọn có thể chỉnh sửa có thể chỉnh sửa và khôi phục
<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>
Bạn cần phải sử dụng phương pháp của đối tượng Range (xem mozilla doc: https://developer.mozilla.org/en/DOM/range). Về cơ bản, một phạm vi bao gồm một nút và bù đắp trong nút đó. Một cách để lưu HTML cùng với phạm vi là sử dụng "dấu nháy" (xem Thư viện đóng cửa cho các ý tưởng: http://closure-library.googlecode.com/svn/docs/class_goog_dom_SavedCaretRange.html). – yonran