はじめに
tinyMCE を使用して、マークアップ スタイルの構文 (TeX のような方程式) を編集しています。tinyMCE からコンテンツが送信された後に処理が必要な場所を示すために、span 要素を追加して、カスタム CSS がマークアップを強調表示し、それに id 属性を付加できるようにします。スパンと囲んでいる段落の間を移動するときに、適切なキャレットの配置動作を取得するのに苦労しています-スパンの先頭からスパンの外側に移動するときにキャレットが文字をスキップすることがよくあります。
具体例
(MacBookでFirefox 12を実行しています)
test.html: http://pastebin.com/m8nAmetz
eqn およびインライン クラスの CSS スタイル: http://pastebin.com/cQVRGVMS
CSS が '$' をスパンにレンダリングする前にキャレットを配置して右矢印を押すと、'moreinterestingeqnstuff' の最初の m の後にキャレットが移動し、'...stuff' の 2 番目の f の後に同じプロセスが繰り返されます。スパンの後の最初のスペースをスキップするキャレット。クリックしてキャレット位置を選択すると、キャレットが上記のエラー状態のいずれかにプッシュされる前に、キャレットが正しく配置されます。
質問
ここで何か間違ったことをしましたか?そうでない場合、これが tinyMCE のバグなのかブラウザのバグなのか、またこれらのケースのいずれかに回避策があるかどうか、誰か知っていますか?
更新:わかりました。tinyMCE の人々との機能要求として、疑似要素の処理 (以下を参照) を入力する必要があると思います。ただし、疑似要素がなくても、キャレットの処理に問題があります。このフィドルhttp://fiddle.tinymce.com/EGbaabでは、インライン クラスを削除しました。これにより、前後のスタイリングが削除されます。スパンの直後に文字を挿入したい場合は、キャレットを '...stuff' の最後の f の直後に移動するとすぐにスパン内に配置されるため、できません。tinyMCE でこの機能を無効にする方法はありますか、またはこの動作を実装する最良の方法は何ですか?