我正在尝试实现一种非常简单的所见即所得的 javascript 编辑器。
我所拥有的:我知道,当前的 Javascript 不能通过点击按钮来工作……</p>
wrapText = function(replacementText) {
var range, sel;
if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
return range.insertNode(document.createTextNode(replacementText));
} else if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
return range.text = replacementText;
}
}
};
<a id="bold-btn">Make it Bold!</a>
<div id="editit" contenteditable="true"></div>
现在,如果您在可编辑的 div 中标记/突出显示某些文本并点击使其加粗 - 按钮。选定的文本将被包裹在 <b/> 标记中。
问题是输出看起来像这样:
这是一个带有 <b>bold<b/> 单词的示例文本。
代替:
这是一个带有粗体字的示例文本。
任何想法?