私はcontenteditable=true
テキストエディタを作ろうとしています。getSelection()
選択範囲を HTML タグ内にラップすることに成功しました。
ただし、ユーザーがエディター外でテキストを選択して操作ボタンをクリックすると、そのテキストがタグ内にもラップされるという問題があります。
getSelection()
選択範囲がエディターのクラスの div 内にあるかどうかを確認するにはどうすればよいですか?
編集:
現在このコードを使用しています:
var sel = window.getSelection ? window.getSelection() : document.selection.createRange();
if(sel.getRangeAt){
var range = sel.getRangeAt(0);
var newNode = document.createElement("p");
newNode.setAttribute('class', operationClass);
range.surroundContents(newNode);
} else {
sel.pasteHTML('<p class="' + operationClass +'">'+sel.htmlText+'</p>');
}