【发布时间】:2017-03-06 18:54:28
【问题描述】:
对于一个小型的、移动优先的(网络)应用程序,我正在尝试创建一个 pin/密码输入(掩码),类似于:
+---+ +---+ +---+ +---+
| 1 | | 2 | | 3 | | 4 |
+---+ +---+ +---+ +---+
在各种解决方案的实施过程中,用户体验变得不可预知或令人困惑,我希望我能克服这些……下面的选项列出了我遇到的发现,demo: implementation of the three solutions (simplified)
多个输入
- 无法在移动设备上检测退格(在 keydown / keyup 期间);这使得导航到上一个输入字段,当按下退格键并且该字段为空时,很难实现。
- 无法使用软键盘上的“双击切换”功能;聚焦(通过用户操作/脚本)到下一个输入会给出一个“跳跃”键盘(无论是结合“双击移位”自动大写打开还是关闭)
字母间距与背景重复线性梯度相结合(均已计算)
- Letter-spacing 的实现与人们预期的有些不同,字符总是以“letter-spacing”结尾,而不是字符之间有空格。这会导致在到达输入字段的“结尾”时发生水平滚动
- 删除一个字符,移动整个字符串,而不是“清空”删除的字符
字间距(在每个字符后附加一个空格)和背景重复线性梯度(均已计算)
- 删除一个字符,移动整个字符串,而不是“清空”删除的字符
所以这个问题有点双重;首先,我可能错过了另一个解决方案(?)其次,对于提到的解决方案,列出的调查结果可以被“反驳”(?)
【问题讨论】:
-
给我们一些代码来处理,这样我们就不会做你做的完全相同的事情,只是发现它不起作用。宁愿做点什么。
-
@AmericanSlime,已添加代码/演示。