当页面上有多个可输入元素时,在执行撤销、重做操作时,会从一个输入框跳到另一个输入框

比如下面有三个输入框,分别输入文本后,然后按 cmd+z撤销,会依次从第三个撤回到第一个

image.png

看似好像合理,如果页面上有一个搜索框和一个评论框,如果来回撤销、重做,是不是感觉有点混乱呢?

有没有办法把撤销、重做固定在一个输入框里?貌似是因为cmd+z是全局的

阅读 1.6k
1 个回答

那就监听事件,并在条件满足时取消撤销行为?

document.addEventListener('keydown', e => {
      if(/textarea|input/.test(e.target.localName) && e.key === 'z' && e.metaKey && !e.target.value.length) e.preventDefault();
    })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题