나는 입력 된 문자 사이의 시간을 시각화하고자하는 약간의 실험용 편집기를 만들고 있습니다. 따라서 나는 자바 스크립트와 contenteditable div를 사용하여 모든 문자를 SPAN 및 타임 스탬프 속성으로 래핑합니다. 나는 rangy의 도움으로 약간의 기능을 구축 : 즉시 편집 가능한 문자 교체하기
function insertAtCursor(char, timestamp) {
var sel = rangy.getSelection();
var range = sel.rangeCount ? sel.getRangeAt(0) : null;
if (range) {
var el = document.createElement("span");
$(el).attr('time', timestamp);
el.appendChild(document.createTextNode(char));
range.insertNode(el);
range.setStartAfter(el);
rangy.getSelection().setSingleRange(range);
}
}
지금 내가 어떤 도움을 주셔서 감사합니다 것이 개념을 두 가지 문제에 직면하고 있습니다 :
을 수행합니다. 위의 함수를 사용하면 출력은 다음과 같이 중첩 된 범위로 끝납니다.
<span time="12345">a
<span time="12345">b
<span time="12345">c</span>
</span>
</span>
b. 위의 함수가 실행될 수 있다고하더라도 복사 & 붙여 넣기 또는 드래그 & 드롭 액션은 또한 일부 내포 된 범위에서 끝날 수 있습니다 ... 그리고 나는 그것을 피할 수있는 방법이 있는지 궁금합니다.
감사합니다, 안드레아스는