如果您使用 <input type="number">
,某些浏览器 会提供一个带有用于递增数字的 UI 的输入,例如向上/向下箭头(通常称为“微调器”)。
有时这很有帮助。但人们肯定已经探索了更新该数字的更奇特的方法。“擦除”就是其中一种方法。我总是想到 Photoshop,它很长时间以来一直支持这种交互
前几天我看到了 Dominik Jančík 的一个演示,他们在代码块中实现了这一点。看看(如果您使用的是带有鼠标的设备)您如何将鼠标悬停在数字上并从左到右“擦除”以增加或减少数字
Dominik 询问是否可以在 CodePen 本身上实现它。我认为这也很酷,但我对核心编辑器的更改也有些犹豫,因为我之前被它咬过。不过,对于任何有兴趣的人来说,这非常适合 CodeMirror 和/或 Monaco 和/或 Ace 插件。
对于 Ace 来说,它一定已经以某种方式存在了,因为可汗学院编辑器 支持它 在他们的编辑器中。
我四处寻找其他示例,并偶然发现了 Fabrice Weinberg 的一个很好的示例,其中包含许多选项
我以为我记得 Lea Verou 的 Dabblet 做过这个,但我认为我记错了。不过它确实做了一些很酷的弹出窗口
它还支持 ⌥
+↑
和 ⌥
+↓
用于递增数字。CodePen 做到了!我们支持 Emmet,它为该功能提供支持。
键绑定 | 递增 |
---|---|
Ctrl +↑ | 数字 + 1 |
Ctrl +↓ | 数字 – 1 |
Ctr +Alt +↑ | 数字 + 10 |
Ctrl +Alt +↓ | 数字 – 10 |
Alt + ↑ | 数字 + 0.1 |
Alt + ↓ | 数字 – 0.1 |
你们有没有遇到过真正喜欢的数字擦除 UX?
在我看来,最佳输入/通用 UX 奖应该颁发给 Blender。我希望所有编辑软件都能实现类似的交互。
Photoshop 和 Illustrator 很久以前就有了类似的交互。
对移动用户完全不友好……
如果您不能手动输入数字,并且交互没有得到很好的解释和触控友好,那么是的。
如果您可以输入数字,它与任何其他数字输入一样友好。
老实说,新的 iOS 14 确实有“擦除器”,但它是垂直的,这很好。您也可以在日历和时钟上查看该时间。
我想知道 Bret Victor 是如何做到的(我还没有看完视频)
https://vimeo.com/36579366
数字擦除器是一个糟糕的主意。我无法表达看到它们实现得有多糟糕时我的愤怒。当我遇到一个网站,其滑块无法通过简单地键入数字进行编辑时,我已经放弃了该网站并转而使用其他网站。永远不要忘记可访问性的最佳实践!您需要确保用户可以覆盖您酷炫的小部件,因为并非每个人都能使用它们。
我最近构建了键盘快捷键来增加/减少值,遵循 Devtools 的方式
向上/向下箭头:更改 1
Shift + 向上/向下箭头:更改 10
Ctrl/cmd + 向上/向下箭头:更改 100
Alt + 向上/向下箭头:更改 0.1
我在此处写了关于此内容的文章:https://kilianvalkhof.com/2020/javascript/supercharging-input-type-number/
我可能会为按住 Shift/cmd/alt 并滚动实现相同的逻辑。擦除很有趣,但它以 Photoshop 的方式实现效果最佳,即通过拖动图标而不是值本身。拖动值可能会干扰拖动以选择,这通常值得保留。
太酷了!我喜欢那个擦除功能。我真的很讨厌那些小箭头。
我想知道擦除功能是否可访问,例如是否对键盘友好?如果不是,他们应该使用左右箭头来增加,并使用 Shift + 左右箭头来每次增加 10 或类似的东西。