【问题标题】:How to make text, number and date html input fields support Ctrl+Z (undo) in a consistent fashion?如何使文本、数字和日期 html 输入字段以一致的方式支持 Ctrl+Z(撤消)?
【发布时间】:2012-08-16 17:03:15
【问题描述】:

文本输入字段似乎完全支持 Ctrl+Z(撤消)。

数字和日期输入字段仅支持它,如果值已输入到相关字段中。但是,如果它是通过关联的辅助控件(即数字字段的范围控件和日期字段的日历控件)选择的,则 Ctrl+Z 不起作用。

无论用户如何输入值,任何人都可以建议如何使数字和日期字段支持 Ctrl+Z 吗?

谢谢。

附言

我目前正在使用 jquery 和 chrome。

EDIT1

我正在使用 <input type='number' ...<input type='date' ... 完全有可能我应该使用其他东西(什么?)

EDIT2

我说的只是交互式操作,而不是基于脚本的更改。

【问题讨论】:

  • 请贴一些代码。您是使用 HTML5 <input type=number> 等还是 jQuery 工具(哪个?)进行输入,还是两者都使用?
  • 添加了缺失的信息。
  • 就我个人而言,我不确定这是一个很好的举措。首先是史无前例的;我想不出用户可以在浏览器中执行的任何其他可以使用 CTRL+Z 撤消的非键入操作(例如,从下拉列表中进行选择,您的情况与此类似)。其次,它会覆盖(或与之冲突)内置浏览器功能。例如,在 Opera 中,当在文本字段外按下 CTRL+Z 时,会重新打开上次关闭的选项卡。
  • 有点不一致,如果我输入一个数字字段,那么我可以撤消它,但如果我从范围控件中选择 - 那么我不会。你不这么认为吗?
  • 我知道你来自哪里,但约定——至少在浏览器中——是 CTRL+Z 用于输入的内容,而不是通过其他方式调用的内容。因此,您也可以争辩说,如果您提供此类功能,您的用户群将不会期待(或因此使用)此类功能。

标签: javascript html


【解决方案1】:

撤消是 HTML5 应用程序中的一个弱点。没有简单的解决方案,因为撤消最终取决于应用程序(就像在桌面应用程序中一样)。

有关一些解决方案,请参阅此问题:Implementing undo in a web app

【讨论】:

    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多