gpt4 book ai didi

javascript - 实现撤消

转载 作者:可可西里 更新时间:2023-11-01 01:32:22 24 4
gpt4 key购买 nike

我正在创建一个 map 编辑 Web 应用程序,我们可以在其中创建和编辑多段线、多边形等。我在网上查找有关撤消实现的信息时遇到了一些麻烦,我发现提示“我们需要撤消”和“这是我的使用闭包的命令模式”,但我认为在它和完整的撤消/重做界面之间还有一段路要走。

所以,这是我的问题(我认为适合 wiki 的候选人):

  • 应该管理堆栈,还是有办法将我的命令发送到浏览器的堆栈? (以及我如何处理 native 命令,例如本例中文本字段中的文本编辑)
  • 当某些命令是浏览器原生时,我如何处理“命令压缩”(命令分组)
  • 如何检测撤消 (ctrl+z) 键击?
  • 如果我注册了一个 keyup 事件,我如何决定是否防止默认?
  • 如果没有,我可以在某处注册一些撤消事件处理程序吗?
  • 用户不习惯在网络上撤消,我如何“训练”他们在我的应用程序上探索/撤消?

最佳答案

你需要有对象创建和删除的功能。然后将这些函数传递给撤消管理器。请参阅我的 javascript 撤消管理器的演示文件:https://github.com/ArthurClemens/Javascript-Undo-Manager

演示代码显示 Canvas ,但代码不可知。

它不包含键绑定(bind),但可以帮助您完成第一步。

我自己在一个 Web 应用程序中使用过它,在保存旁边有用于撤消和重做的按钮。

关于javascript - 实现撤消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386743/

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