javascript - 瘦长 |如何使用 span 标签上的点击事件删除突出显示的文本?

标签 javascript rangy

正如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/

相关文章:

javascript - 追加元素到dom

javascript - Sencha Touch TPL 和 ITEM

javascript - Rangy 在 contenteditable div 的退格键上失去了插入符号位置

javascript - 在内容可编辑的 div 中模拟光标键(左、右、下、上箭头)?

javascript - 使用 Rangy trim 所选内容中的空白

javascript - n{X,Y} 量词在 JavaScript 中不能与大括号配合使用

javascript - 合并 JavaScript 文件

javascript - Kendo UI 中 ListView 的日期过滤器

javascript - 将表格插入内容可编辑的 div

javascript - 使用 Rangy 从数据库恢复多个选择