gpt4 book ai didi

javascript - 在编辑输入数字格式时保留撤消功能

转载 作者:行者123 更新时间:2023-12-04 10:44:39 24 4
gpt4 key购买 nike

我正在尝试将输入数字格式化为两位小数
正如 HTML5 Number Input - Always show 2 decimal places 中所建议的,但它破坏了撤消输入的可能性。

有没有办法在保持撤消的同时格式化数字?

请尝试以下操作:

<input value="1.11" id="i"
onchange="this.value=parseFloat(this.value).toFixed(2)">
<br>Change ↑ to 1.111, hit tab
and try to undo.


键入一个数字,然后移开焦点,它会更改为所需的格式。但是您无法按 ctrl-Z 返回。

最佳答案

可悲的是,这是预期的行为。最后一个即使跨“外部”脚本更改也保留文本字段值的历史记录条目的浏览器曾经是 Firefox,但据称它带来了性能缺陷,尤其是与丢弃历史记录的其他浏览器相比,因此它已被削弱以匹配它们。 (见 https://bugzilla.mozilla.org/show_bug.cgi?id=1523270)

据我了解,要保留用户对已更改字段的撤消历史记录,您必须推出自己的历史记录管理,为此似乎没有足够可靠的 API 存在。因此,唯一的选择似乎是手动存储历史记录、劫持键盘事件并监听通常会触发撤消的组合键。什么听起来很徒劳。

关于javascript - 在编辑输入数字格式时保留撤消功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59765199/

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