텍스트를 선택할 때 선택이 시작되고 끝나는 위치가 바뀌는 경우가 있습니다. 때로는 이전 요소의 끝에서 시작하고 때로는 텍스트 노드의 시작에서 시작됩니다. 나는 텍스트를 포함하는 요소의 시작 부분에서 항상 시작하고 텍스트를 포함하는 요소의 끝에서 시작하여 브라우저간에 일관되게하기 위해 이것을 정규화하려고하고있다.불안정한 수정 경계
<b>mouse></b><i>cat</i>
"cat"을 선택할 때 크롬은 항상 올바른 것을 수행하고 startContainer cat 및 startOffset 0을 사용하여 선택 항목을 반환합니다. Firefox 및 경우에 따라 IE8은 종종 startOffset 5를 사용하여 이전 요소 (마우스)의 끝에서 시작됩니다. 이 문제를 해결하는 내 원유 시도
이 성공되지 않았습니다 :
var sr=rangy.getSelection().getRangeAt(0);
var sc=sr.startContainer;
if(sc.nodeType!=3||sr.startOffset==sc.length)
{
sr.setStartAfter(sc); //move start to next node in range
}
rangy.getSelection().setSingleRange(sr);
console.log(sr.inspect());
나는 무엇을 놓치고?