서식이 지정된 HTML (머리말과 단락을 포함)이 많은 위치에 - contenteditable
div 안에 모두 설정되어 있습니다. 버튼을 클릭하면 편집 가능한 div에 <newnote>
을 삽입하는 기능을 설정했습니다. 이것은 스팬의 내부에 노트를 삽입 할 때 스팬을 두 개로 나누고 그 사이에 <newnote>
을 배치해야한다는 점을 제외하고는 훌륭하게 작동합니다.내부에 HTML을 삽입 할 때 SPAN을 분할 할 때
DIV에 텍스트를 삽입하기 위해 웹에서 많은 기능을 보았습니다. HTML을 삽입해야하는 요구 사항이기 때문에 document.createTextNode()
이 유일한 선택입니다.
여기까지 제가 설정 한 내용입니다. 부모가 SPAN인지 확인한 다음 해당 if 문을 기반으로 다른 콘텐츠를 배치합니다.
function insertNodeAtRange() {
var newRange = rangy.getSelection().getRangeAt(0);
var parentElement = newRange.commonAncestorContainer;
if (parentElement.nodeType == 3) {
parentElement = parentElement.parentNode;
}
var el = document.createElement('newnote');
el.className = "bold";
if (parentElement.tagName == 'SPAN') {
el.appendChild(document.createTextNode(" </span>Test<span> "));
} else {
el.appendChild(document.createTextNode(" Test "));
}
newRange.insertNode(el);
}
어떤 도움에 미리 감사드립니다
...
''은 (는) html 엔티티가 아닙니다. 'contentebitable'은 철자 오류입니다. parentType은 정의되지 않습니다. 그리고 당신은 잘못된 HTML을 만들려고 노력하고 있습니다. –
내 대답이 도움이 되었습니까? – smerny
@smerny 당신은 내 영웅입니다! 다시 한 번 감사드립니다! –