4

当我的用户对编辑窗口进行更改时,支持数据对象似乎在不断更新。但是,当用户单击 [SOURCE] 并进行更改时,似乎没有更新。

我在我的代码中添加了以下内容:

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

这会感知用户何时从 [SOURCE] 返回到正常视图,以及何时更新我的​​数据。

但是,当用户停留在 [SOURCE] 视图并单击我的屏幕上的保存时,它不会获取最新的更改。有没有办法可以在 [SOURCE] 视图中收听更改,然后在进行这些更改时更新我的​​支持数据存储?

4

2 回答 2

2

你能看看@https ://github.com/esvit/ng-ckeditor

准备使用 Ckeditor 指令

于 2013-10-01T11:52:36.343 回答
1

你总是可以添加一个“模糊”指令并从模糊的 [SOURCE] 中检索数据......

app.directive('blur', function () {
    return function (scope, elem, attrs) {
        elem.on('change', function () {
            scope.$apply(attrs.blur);
        });
    };
});

$scope.getCkData = function () {$scope.ckData = ck.getData();};


<textarea id="editor1" name="editor1" blur="getCkData()">Default</textarea>

现在,通过查看 CK 编辑器,当您单击“源”按钮时,编辑器窗口上会覆盖一个新的文本区域。因此,您可能需要使用 jquery 选择器添加模糊。

$('#editor1 > textarea').attr('blur', 'getCkData()');

因此,这样每当有人离开源视图或所见即所得视图时,模型就会更新。

于 2013-09-25T20:44:35.357 回答