: 여기 Editing Iframe Content in IE - problem in maintaining text selection
그 대답의 약간 단순화 된 버전 : 당신은 다음의 contentEditable 요소의 내용을 변경하지 않는 경우
다음과 같은 기능을 할 것을 . 필요한 모든 작업을 수행하기 전에 saveSelection()
으로 전화하십시오. 나중에 restoreSelection()
을 호출하십시오. 콘텐츠를 변경하는 경우 내 Rangy 라이브러리 save/restore selection module을 사용하시기 바랍니다.
var saveSelection, restoreSelection;
if (window.getSelection) {
// IE 9 and non-IE
saveSelection = function() {
var sel = window.getSelection(), ranges = [];
if (sel.rangeCount) {
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
ranges.push(sel.getRangeAt(i));
}
}
return ranges;
};
restoreSelection = function(savedSelection) {
var sel = window.getSelection();
sel.removeAllRanges();
for (var i = 0, len = savedSelection.length; i < len; ++i) {
sel.addRange(savedSelection[i]);
}
};
} else if (document.selection && document.selection.createRange) {
// IE <= 8
saveSelection = function() {
var sel = document.selection;
return (sel.type != "None") ? sel.createRange() : null;
};
restoreSelection = function(savedSelection) {
if (savedSelection) {
savedSelection.select();
}
};
}
사용 예 :
var sel = saveSelection();
// Do stuff here
restoreSelection(sel);
무슨 일이 (또는 일어날 수) 두 번째이 분할 동안 DIV의 내용에? –
마지막 단어 유형을 제거하고 캐럿 위치를 수정할 수 있습니다. – wilsonpage