gpt4 book ai didi

javascript - 在单页应用程序中处理文本编辑器的 Ctrl+Z(撤消/重做)

转载 作者:行者123 更新时间:2023-12-02 13:45:18 28 4
gpt4 key购买 nike

我有一个单页应用程序,其中包含一个文本编辑器(kendo Editor)。文本编辑器中的数据有点像这样被替换

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

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

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

查看演示 here .

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

是否有一种方法可以根据需要删除撤消历史记录,或者可以阻止文本编辑器用以前的记录替换文本?

最佳答案

更新:更好的解决方案。

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

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

Note: this function is not documented in the public api and is may change in newer version. This is working as of version 2016.3.1118

demo

旧解决方案。

我最终销毁了小部件并将其重新绑定(bind)到文本区域。

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
}
});
});

关于javascript - 在单页应用程序中处理文本编辑器的 Ctrl+Z(撤消/重做),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41456498/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com