js의 여러기능을 구현을 통해 공부
wysiwyg 구현을 통해 에디터 관련 코드를 사용해보자.
태그에 contenteditable="true"
를 넣어주면 해당 태그를 수정할 수 있게 된다.
<!-- index.html-->
<div class="editor" contenteditable="true">
<h1>나만의 wysiwyg</h1>
<p>heloooo</p>
</div>
data-데이터이름 = 값
을 지정해 주면 해당 태그의 데이터를 js에서 가져올 수 있다.
<!-- index.html-->
<li>
<button type="button" data-command="h1">H1</button>
</li>
//index.html
const command = item.dataset.command;
if(command === 'h1'){...}
//index.html
if(...){
document.execCommand('formatBlock', false, command);
}else{
document.execCommand(command);
}
//hell.html
const selectedTxt = window.getSelection();
//hell.html
const parentEl = selectedTxt.anchorNode.parentElement;
//hell.html
editor.replaceChild(createdEl, parentEl)
//hell.html
const selectedTxtRange = selectedTxt.getRangeAt(0);
//hell.html
selectedTxtRange.surroundContents(createdEl)