嘿,你们这些了不起的聪明人,
我需要一些有关用户输入的帮助。我正在创建一个基本的文字处理器,我需要将某个选定区域加粗。用户将用鼠标突出显示该区域并按下按钮。然后,计算机会将其突出显示的文本替换为<b>+originaltext+</b>
,据推测使其变为粗体。问题是,计算机正在将那些打开和关闭的胡萝卜变成<
并因此阻止它完成工作。
如何强制计算机将其作为真正的粗体标签移交?
这是我基本上在做的事情:
function replaceSelectedText() {
var sel, range, txtstuff;
if (window.getSelection) {
txtstuff = '<b>'+window.getSelection()+'</b>'
sel = window.getSelection();
alert(txtstuff, sel);
if (sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
range.insertNode(document.createTextNode(txtstuff));
}
} else if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
range.text = txtstuff;
}
}
提前感谢您的帮助!
更新:这是在一个可编辑的 div 中。