【问题标题】:Assign Ctrl +Z to Escape Key将 Ctrl +Z 分配给 Escape 键
【发布时间】:2019-03-14 15:34:55
【问题描述】:

我有一个功能,我想在 keyup Escape (27) 上撤消上一个事件。 如果我按 ctrl+z 这可以工作,但我想将控件 Z 分配给 Escape 键

$('.toAct').not('.id').on('keyup', function(e) {
 if (e.which === 27) {
  e.preventDefault()

   // CTRL Z FUNCTION
   //$(this).click('ctrl+z')

  } 
})

【问题讨论】:

  • 您无法以您尝试的方式触发“撤消”操作。这具体取决于您如何撤消它所执行的逻辑。标准浏览器级别的撤消操作将通过使用 execCommand() 调用,但浏览器支持可能不完整。
  • 您可能想要实现自己的撤消堆栈。
  • 是的,没错。这是在一个表 td 我在转义键上和上都有 contenteditable 我想撤消文本输入并再次返回到原​​始文本

标签: jquery


【解决方案1】:

您可以使用Document#executeCommand 执行undo 操作。

$('.toAct').not('.id').on('keyup', function(e) {
  if (e.which === 27) {
    e.preventDefault()
    document.execCommand('undo', false, null);
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea class="toAct"></textarea>

MDN docs for available commands.

【讨论】:

  • @carlo : 很高兴它有帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多