Rangy を使用して、カーソル位置を選択および復元しています。
これは優れた機能を果たしますが、ユーザー入力がプログラムによって操作され、DIV の innerHTML で短い文字列が置き換えられる場合には設計されていません。
ユーザーが選択範囲の最後にスペースを入力し、スペースがプログラムで削除されるとどうなるかを示す jsbin の例を作成しました: http://jsbin.com/ebeqoj/4/edit
置き換えられた innerHTML は、Rangy が復元しようとするものよりも短いため、復元に失敗し、DIV がフォーカスを失います。
これを処理する方法についての提案をいただければ幸いです。たとえば、新しい文字列の末尾にカーソルを戻すように Rangy に指示する方法はありますか? (私は rangy.getSelection().move("character", userInput2.length-1)
成功せずに使用しようとしました)
ありがとう