contenteditabledivに問題があります。単純なコマンド(太字や斜体など)を実行したい場合は、次のようにします。
- divを記憶します(太字のボタンをクリックするとフォーカスが失われるため)
- ボタンをクリックすると、divに再度フォーカスを合わせて、太字のコマンドを実行します
- すべてが機能します
今、私がもっと難しいことをしようとすると問題が発生します。たとえば、入力フィールドを含むカスタムダイアログを表示したいとします。
- divを暗記する
- ボタンをクリックすると、ダイアログが表示されます(すべて問題ありません)
- ユーザーは入力フィールドをそのダイアログに集中させます(そしてそれがすべてが壊れます)
これに伴う問題は、入力要素がフォーカスされるとすぐに、contenteditable divがフォーカスを失うだけでなく、選択を失い、再度フォーカスするとすぐにカーソルが最初に移動することです。
だから私の質問は:別の入力要素に焦点を合わせた後、contenteditable divが選択を失うのを防ぐにはどうすればよいですか?