【问题标题】:Disabling undo/redo in an HTML input field在 HTML 输入字段中禁用撤消/重做
【发布时间】:2011-11-19 05:10:36
【问题描述】:

我正在使用 asp.net 输入字段,它们会自动提供撤消/重做功能。我正在使用 JavaScript 来格式化输入字段的值,但这会破坏撤消/重做历史。

  • 有没有办法禁用撤消/重做功能?

    或

  • 有没有办法与撤消/重做历史交互以添加正确的值?

【问题讨论】:

  • 在撤消或重做事情时不会触发onchange 事件吗?也许这是一种吸引它的方式
  • 我最近发现在 Chrome 上,jsfiddle.net 上的文本区域在单击“运行”时会丢失其撤消历史记录。还不知道怎么做,但可能会感兴趣。
  • 也许您可以将 keydown/keyup/keypress 侦听器附加到输入字段并在按下“控制”或“命令”键的事件上发出 e.preventDefault()(即抑制 Ctrl- z)。
  • @Jonathan 不会抓住例如当使用上下文菜单时

标签: javascript asp.net html undo-redo


【解决方案1】:

使用 JavaScript,尝试用新的文本字段替换文本字段,然后然后设置值。新字段,新撤消缓冲区,对吧?

jQuery:

$('#theTextField').after('<textarea id="theTextField2"></textarea>').remove();
$('#theTextField2').attr('id','theTextField');

【讨论】:

  • 它将丢失所有边界事件。也许使用.clone(true) 可能是个好主意。
猜你喜欢
  • 2017-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-13
  • 2014-10-14
  • 1970-01-01
  • 2010-12-31
相关资源
最近更新 更多