1

我目前正在使用 CKEditor 作为我网站上的文本的所见即所得编辑器。我刚刚遇到了一个使用 Angular 部分视图的编辑器的问题。视图被 ng-hide 和 ng-show 隐藏。

当我不在当前的局部视图之外时,编辑器可以正常工作。这意味着工具栏弹出,工具栏上的按钮工作,文本也可编辑。

但是,当我在部分视图中时,弹出窗口仍然出现,但文本不可编辑,并且按钮被禁用。

这是我当前打开编辑器的代码

plunker.directive('ckEditor', function($http, $timeout) {
  return {
    require: '?ngModel',
    link: function(scope, elm, attr, ngModel) {
      var ck = CKEDITOR.inline(elm[0]);

      if (!ngModel) return;

      ck.on('pasteState', function() {
        scope.$apply(function() {
          ngModel.$setViewValue(ck.getData());

        });
      });

      ngModel.$render = function(value) {
        ck.setData(ngModel.$viewValue);
      };
    }
  };
});

所以我的问题是有没有人让 CKEditor 使用部分视图?如果是这样,你是怎么做到的?

4

1 回答 1

0

你没有提供任何例子,所以很难说。可能有几个原因,

  1. 检查 CKEditor 是否支持元素类型 - 如果不支持,您将不得不通过复制一些设置来破解 CKEditor 配置div
  2. 确保你的元素有contenteditable='true'
  3. 确保您手动检测 CKEditor 为您的部分提供编辑器。

您可能还想阅读以下内容: Enable CKEditor4 inline on span 和其他内联标签 http://docs.ckeditor.com/#!/api/CKEDITOR.dtd-property-S-editable

于 2013-09-10T22:15:22.980 回答