【问题标题】:copy functionality is not working for highlighted text复制功能不适用于突出显示的文本
【发布时间】:2018-05-10 06:59:12
【问题描述】:

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

这是我的代码。

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='';
    }
}; 

所以我想要在突出显示的文本上复制功能。

有什么想法吗?

【问题讨论】:

  • 为什么你还在使用旧的angular
  • @EaB 我的项目是用旧的角度设置的,有什么方法可以用旧的角度添加复制功能吗?

标签: javascript angularjs clipboard copy-paste rangy


【解决方案1】:

您可以在选择突出显示的文本后尝试此命令: document.execCommand('copy'); 如果复制文本,则返回布尔值,否则返回 true。

【讨论】:

  • 我无法选择突出显示的文本。因为 rangy 不允许我选择已经突出显示的文本。
  • 嗨,请查看此链接以获取您的解决方案。我对突出显示文本使用相同的内容并稍后恢复它。 stackoverflow.com/questions/6240139/….. 这是 rangy 开发人员 tim down 发布的答案。
猜你喜欢
  • 2019-01-20
  • 2014-06-18
  • 2013-05-19
  • 1970-01-01
  • 2019-10-16
  • 2012-05-10
  • 2013-05-22
  • 2018-03-07
  • 1970-01-01
相关资源
最近更新 更多