【发布时间】:2014-03-10 01:39:42
【问题描述】:
我正在为一个项目做一点所见即所得,我需要能够突出显示文本,单击一个按钮,这将在选择周围附加一个带有“.highlight”类的跨度。跨度将具有黄色背景。
这是我迄今为止在 SO 上的其他地方所拥有的,它是附加文本而不是 HTML。 http://jsfiddle.net/aGzvp/
这是 JS:
function wrap(tag) {
var sel, range;
if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(0);
selectedText = range.toString();
range.deleteContents();
range.insertNode(document.createTextNode('[' + tag + ']' + selectedText + '[/' + tag + ']'));
}
}
else if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
selectedText = document.selection.createRange().text + "";
range.text = '[' + tag + ']' + selectedText + '[/' + tag + ']';
}
}
【问题讨论】:
标签: javascript jquery contenteditable