0

我有一个由文本编辑器(剑道编辑器)组成的单页应用程序。文本编辑器中的数据有点像这样被替换

$("#editor").kendoEditor({
                    resizable: {
                        content: false,
                        toolbar: true
                    }
                });

                var editor = $("#editor").data("kendoEditor");

                var setValue = function () {
                    editor.value($("#value").val());
                };

在此处查看演示。

问题:所以我正在更改记录A然后保存它。然后我切换到B. 现在,如果我这样做Ctrl+Z文本编辑器会显示A. 我怎样才能防止这种行为。

是一种按需删除撤消历史记录的方法,还是阻止文本编辑器用以前的记录替换文本的方法?

4

1 回答 1

2

更新:更好的解决方案。

我联系了 Kendo 开发人员,他们提供了一个简洁的解决方案。

var editor = $("#editor").data("kendoEditor");
editor.undoRedoStack.clear();

注意:此功能未在公共 api 中记录,可能会在较新版本中更改。这是从版本 2016.3.1118 开始工作的

演示

旧解决方案。

我最终破坏了小部件并将其重新绑定到文本区域。

http://dojo.telerik.com/OjIZe

$("#destroy").click(function(){ 
  var copy=$("#editor").clone(); 
  $("#editor").data('kendoEditor').wrapper.find("iframe").remove(); 
  $("#editor").data('kendoEditor').destroy(); 
  $("#test").empty(); 
  $("#test").append(copy); 
  $("#editor").kendoEditor({ resizable:    { 
    content: false, toolbar: true 
  } 
  }); 
});
于 2017-01-05T09:58:02.407 回答