【问题标题】:How to unhighlight a text如何取消突出显示文本
【发布时间】:2016-02-18 12:53:41
【问题描述】:

我编写了一个函数来突出显示使用以下方法选择的文本,

$('.highlight').click(function(){
        document.execCommand("insertHTML", false, "<span style=background-color:yellow;>"+ document.getSelection()+"</span>");
    });

但是,现在我需要取消突出显示选定的文本,请您帮帮我。

提前致谢。

【问题讨论】:

  • unwrap() 你应该使用类而不是内联样式。然后您可以简单地删除该类以取消突出显示。
  • 该函数运行前HTML是否存在?
  • @amflare 我们可以高亮显示在 div 标签上的文本

标签: javascript jquery highlighting


【解决方案1】:

CSS

.highlighted{
background-color:yellow;
}

JS

    $('.highlight').click(function(){
        document.execCommand("insertHTML", false, "<span class='selectedText highlighted'>"+ document.getSelection()+"</span>");
    });

    // CALL THIS FUNCTION, WHEN YOU NEED TO UNHIGHLIGHT
    function unhighlight(){
        $(".selectedText").removeClass("highlighted");
    }

【讨论】:

  • 是否可以获取所选文本的背景颜色