選択範囲にコンテンツを追加するために、リッチ テキスト エディターから呼び出しているこの関数があります。
問題は、次のようなhtmlタグで渡すと、正しく機能しないことです<center>some</center>
コンテンツ センターを作成する代わりに、HTML もテキストを出力します
function addTextAtCursorPostion(text) {
var sel, range, html;
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
range.insertNode(document.createTextNode(text));
}
}
これdocument.createTextNode
はテキストのみを取ります。テキストと HTML を処理する方法はありますか?
または、内部にhtmlを配置できるダミー/空のノードはありますか?
Firebug を使用して取得したリッチ テキスト エディターの innerHTML のサンプル コンテンツ
<div contenteditable="true" id="editor">
<font face="Comic Sans MS">Go ahead</font>…
<a href="www.stackoverflow.com"><b><i>Welcome User</i>
**ADD HTML FORMATTED STRING HERE OR POSITION AT CURSOR**
</b></a><br>
</div>
htmlText をラップすると、span/div/p
UI の配置の問題が発生する可能性があります