【发布时间】:2010-05-05 20:10:21
【问题描述】:
我想突出显示用户选择的文本。我不能使用基于 JQuery 的 API 来突出显示,因为我想要用户特定的突出显示。
这是我的代码的样子。
var range = window.getSelection().getRangeAt(0);
var sel = window.getSelection();
range.setStart( sel.anchorNode, sel.anchorOffset );
range.setEnd(sel.focusNode,sel.focusOffset);
highlightSpan = document.createElement("span");
highlightSpan.setAttribute("style","background-color: yellow; ");
highlightSpan.appendChild(range.extractContents());
range.insertNode(highlightSpan)
这在正常情况下有效,但如果我在不同段落中选择一些文本,extractContents API 将验证返回的 HTML 并添加额外的标签以使其成为有效的 HTML。 我想要在没有 javascript 所做的额外验证的情况下选择的确切 HTML。
有什么办法可以做到吗?
问候, 蒂娜
【问题讨论】:
标签: javascript