复制功能不适用于突出显示的文本

时间:2017-11-27 04:52:50

标签: javascript angularjs clipboard copy-paste rangy

我正在使用rangy选择方法突出显示文本。突出显示并删除突出显示的功能对我来说工作正常,但问题是我无法复制突出显示的文本。

这是我的代码。

var highlighter;
    var highlightTextToBeRemoved;

  rangy.init();
    highlighter = rangy.createHighlighter();
    highlighter.addClassApplier(rangy.createClassApplier("highlight", {
      ignoreWhiteSpace: true,
      tagNames: ["span", "a"]
    }));

    document.onclick = function(event) {
      event = event || window.event;
      var target = event.target || event.srcElement;
      highlightTextToBeRemoved = highlighter.getHighlightForElement(target);
    };

  $scope.highlightSelectedText = function () {
            highlighter.highlightSelection("highlight");           
        };

      $scope.removeHighlightFromSelectedText = function(event) {
        if (highlightTextToBeRemoved) {
        highlighter.removeHighlights( [highlightTextToBeRemoved] );
        highlightTextToBeRemoved='';
    }
}; 

所以我希望在突出显示的文字上复制功能。

任何想法?

1 个答案:

答案 0 :(得分:0)

您可以在突出显示的文字选择后尝试此命令: document.execCommand('复印&#39); 如果复制了文本,它将返回布尔值,然后返回true,否则返回false。