考えられるすべての質問と回答をざっと読んだ後、この方法で試してみます。
RTEをプログラミングしていますが、contenteditable要素のテキストを正常に抽出できませんでした。これは、各ブラウザがノードとキープレス(#13)イベントをわずかに異なる方法で処理するためです(たとえば、一方が「br」、もう一方が「div」、「p」などを作成するなど)。これはすべて一貫しているので、e.preventDefault()を使用してすべてのデフォルトアクションを強制終了するクロスブラウザーエディターを作成しています。
次のシナリオ:
1)ユーザーが#13キーを押す(チェック)
2)キャレット位置が検出されました(チェック)
3)ケアレットが入っている要素の後に新しいp(aragraph)を作成します(チェック)
4)caretと要素の終わりの間にtext(node(s))がある場合は、それを抽出します(???)
5)新しく作成されたp(段落)にtext(node(s))を配置します(チェック)
ご想像のとおり、ポイント4を除いてすべてが機能します。
よく知られているjsrangyライブラリにも同様の機能があり、特定の選択が抽出されます。
必要なものは次のとおりです。コンテンツ編集可能な段落(p、h1、h2、...)要素の最後までのすべてのテキスト(もちろんタグ付き、つまりsplitBoundaries)を取得して抽出します。
手がかり、ヒント、スニペットは大歓迎です!前もって感謝します。
よろしくお願いします、p