Javascript Backbone.Undo.js未按预期工作。事实上根本不起作用
我正试图用我现有的代码实现。我的应用程序是一种模板生成器 这是主对象的console.log。 正如您所看到的,它有调色板和编辑器对象。我想注册撤销,用它重做。 这是我的undo manager集成代码Javascript Backbone.Undo.js未按预期工作。事实上根本不起作用,javascript,jquery,backbone.js,model,undo-redo,Javascript,Jquery,Backbone.js,Model,Undo Redo,我正试图用我现有的代码实现。我的应用程序是一种模板生成器 这是主对象的console.log。 正如您所看到的,它有调色板和编辑器对象。我想注册撤销,用它重做。 这是我的undo manager集成代码 var UndoManager = new Backbone.UndoManager; UndoManager.register(app.editor,app.palette,DdBuilder); // Pass any number of arguments UndoMan
var UndoManager = new Backbone.UndoManager;
UndoManager.register(app.editor,app.palette,DdBuilder); // Pass any number of arguments
UndoManager.startTracking(); // Start observation after instantiation
$(".fusion_undo").click(function () {
alert(UndoManager.isAvailable("undo")); //returns false always
UndoManager.undo();
});
$(".fusion_redo").click(function () {
UndoManager.redo();
});
我相信这是一个简单的集成,我遗漏了一些小细节。知道它可能是什么吗?是否执行
app.editor
,app.palete
和DbBuilder
触发主干事件?UndoManager将侦听器添加到传递到寄存器
-函数的对象中。如果您没有撤消管理器,请执行添加
、删除
、重置
和更改
事件,并从这些事件创建可撤消的操作
您可能希望通过将对象记录到控制台来测试对象是否触发这些事件
app.editor.on("all", console.log, console);
app.palette.on("all", console.log, console);
DbBuilder.on("all", console.log, console);
如果它们触发了其中一个事件,并且isAvailable(“undo”)
之后仍然返回false,那么肯定有一个更棘手的问题,但请首先尝试此方法