正如rangy library
所说,我们需要选择text
使其高亮和移除高亮。
为了突出显示它包括span 标签
。
要删除突出显示的文本,我想单击 span 标记
而不是选择该文本。
这是library
方法,用于去除高亮:
unhighlightSelection: function(selection) {
selection = selection || api.getSelection();
console.log(selection.getAllRanges())
var intersectingHighlights = this.getIntersectingHighlights( selection.getAllRanges() );
this.removeHighlights(intersectingHighlights);
selection.removeAllRanges();
return intersectingHighlights;
}
这里 selection
变量被 api.getSelection()
占用,而不是 local selection variable
。
我认为你们所有人理解我的问题就足够了。
如果你愿意,我可以给出更多的描述。
我可以做一些像 api.getSelection()
一样占用 selection 变量
而不使用它吗?
或者我做了什么来实现它?
如有任何建议,我将不胜感激。
谢谢
最佳答案
假设你想要的是能够点击突出显示来摆脱它,我建议如下(它支持 IE 6-8;我不知道你是否需要那个,但 Rangy支持)。关键方法是 getHighlightForElement()
和 removeHighlights()
:
document.onclick = function(e) {
e = e || window.event;
var target = e.target || e.srcElement;
var highlight = highlighter.getHighlightForElement(target);
if (highlight) {
highlighter.removeHighlights( [highlight] );
}
};
关于javascript - 瘦长 |如何使用 span 标签上的点击事件删除突出显示的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29506334/