次のようなさまざまなインデントを持つアイテムのリストがあります。
- リスト項目 1
- リスト項目 2
- リスト項目 3
- リスト項目 2
contentEditable
ユーザーがリスト項目をクリックするとオンになります。ここで、ユーザーが矢印キーを押すと、キャレットの x 位置を維持しながら、up
キャレット/単語カーソルをから移動したいと思います。List item 3
List item 2
これを図で表すと、
intial caret pos:
- リスト項目 2
- 李| 最初の項目 3
final caret pos after user presses up arrow. x offset remains same despite the difference in indent levels:
- リスト項目| m 2
- リスト項目 3
目的は、矢印キーを使用して行間を移動するとキャレット オフセットが保持される、複数行のテキスト領域の動作をシミュレートすることです。この動作は、Google タスクのリスト アイテム間を移動するときにも確認できます。
関連するSOの質問をいくつか参照 した 後、あきらめる前に問題を解決する方法の半分を得ることができました。
エレガントなソリューションを知っている人はいますか?