我想构建一个使用撤消重做功能的基于电子的应用程序。现在可以在菜单中放置undo / redo条目,并且电子中已存在相应的角色。 role: undo
+ role: redo
。见here
因此,如果我点击“撤消' -MenuItem”,我可能会发现webContents.undo()将会被调用。
我现在的问题是,调用此撤消时会发生什么?我可以以某种方式注册一个监听器并自己处理撤消?或者最好不要使用'撤消' -role但是定义自定义菜单条目并自己处理所有内容?
也许有一些关于电子铬浏览器如何处理这些撤消事件的规范,以及可以捕获它并定义我自己应该在撤消/重做上执行的操作。
答案 0 :(得分:1)
我认为您应该定义自定义菜单条目并自行处理。
我不认为你可以注册一个监听器并在那里处理它,因为webContents
文档中没有事件。
菜单项将是这样的:
{
label: 'Undo',
accelerator: 'CmdOrCtrl+Z',
click: function (menuItem, focusedWin) {
// Undo.
focusedWin.webContents.undo();
// Run some custom code.
}
}