JsFiddle演示完全适用于换行文本,但我不知道它是如何展开所选文本的。
range.text = '[' + tag + ']' + selectedText + '[/' + tag + ']';
如何解包标签并获取原始选定文本。
答案 0 :(得分:1)
如果您不想使用jQuery,可以使用以下内容:
var element = document.createElement('span');
element.originalText = selectedText;
element.textContent = '[' + tag + ']' + selectedText + '[/' + tag + ']';
element.onclick = function() {
this.parentNode.replaceChild(document.createTextNode(this.originalText), this);
};
range.insertNode(element);
我在这里使用了span
元素,而不是textNode,它很容易用于您的目的。但是你需要注意浏览器的兼容性。
答案 1 :(得分:0)