window.getSelection在IE和FF中没有使用AngularJS

时间:2017-12-07 09:58:07

标签: javascript jquery angularjs internet-explorer summernote

我需要从Angular Summernote编辑器中获取突出显示/选中的文本,但我遇到麻烦(我认为是因为上下文)与IE(11)和FF(量子)。

我可以在控制台上通过window.getSelection().toString()获取它,但是当我在代码中使用它(或角度方式$window.getSelection().toString())时,我在IE和FF中什么也得不到。

我尝试使用document.getSelection()超时document.selection(由于选择为空或未定义而引发异常), activeElementselectionStart

我认为在Angular的某个地方我失去了我在哪个窗口的上下文,但我不知道为什么因为它在Chrome中有效。

另外,我尝试使用插件中的editor.createRange,但它没有给我预期的结果。

这是我的代码:

HTML

<summernote id="summernote" config="model.comment.summernoteOptions" on-paste="paste(evt)" on-change="change(contents)" ng-model="model.comment.selected.valueTmp"></summernote>

一般控制器

$scope.paste = function (evt) {
  $scope.model.comment.normalizeDom(evt);
};

特定控制器

this.normalizeDom = function (evt) {
  var selected = $window.getSelection().toString();

  console.log(selected);
};

0 个答案:

没有答案