我有一个具有不同缩进的项目列表,如下所示:
- 清单项目 1
- 清单项目 2
- 清单项目 3
- 清单项目 2
我contentEditable
在用户单击列表项时打开。现在,当用户按下up
箭头键时,我想将插入符号/单词光标从List item 3
移到List item 2
,同时保持插入符号的 x 位置。
为了以图形方式显示这一点,
intial caret pos:
- 清单项目 2
- 李| 第 3 项
final caret pos after user presses up arrow. x offset remains same despite the difference in indent levels:
- 列出项目| 米2
- 清单项目 3
目的是模拟多行文本区域的行为,其中使用箭头键在行之间移动保留插入符号偏移。在 Google Tasks 中的列表项之间移动时,您也可以看到此行为。
在 参考 了 一些 相关的 SO问题之后,我在放弃之前设法解决了一半的问题。
有人知道优雅的解决方案吗?