【发布时间】:2013-05-13 15:01:57
【问题描述】:
我正在尝试实现一种非常简单的所见即所得的 JavaScript 编辑器。
我有什么: 我知道,当前的 Javascript 不能通过点击按钮来工作……
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 中标记/突出显示某些文本并点击使其加粗 - 按钮。选定的文本将被包裹在 标记中。
问题是输出看起来像这样:
这是一个带有粗体字的示例文本。
代替:
这是一个带有粗体字样的文本。
有什么想法吗?
【问题讨论】:
-
加粗的代码在哪里?我们怎么知道问题出在哪里!
-
你的javascript代码是什么样的?
-
如果您不知道已经为您的问题提供了解决方案ckeditor.com
-
我认为你需要使用
innerHtml而不是innerText如果你这样做的话。 -
抱歉,我认为 Javascript 部分不是问题所在。我会编辑问题。
标签: javascript jquery html contenteditable