http://demo.goseamless.co.za/cktest/ - このリンクには、バグのあるコードの例が含まれています
iOS デバイスでエディターに入力してみてから、エディターの別の場所をタップしてカーソルを移動します。入力を続けると、エディターが応答を停止し、キーボードを閉じてもう一度タップして編集し、入力できるようにします。
また、iOS オン スクリーン キーボードの [次へ/前へ] ボタンは、コントロールを「タブ移動」するときにエディターを無視します。
http://demo.goseamless.co.za/cktest/ - このリンクには、バグのあるコードの例が含まれています
iOS デバイスでエディターに入力してみてから、エディターの別の場所をタップしてカーソルを移動します。入力を続けると、エディターが応答を停止し、キーボードを閉じてもう一度タップして編集し、入力できるようにします。
また、iOS オン スクリーン キーボードの [次へ/前へ] ボタンは、コントロールを「タブ移動」するときにエディターを無視します。
ご存知かもしれませんが、CKEditor(他の多くのHTMLエディターと同様)はiframeの上に実装されています。エディター内をタップしてカーソルを移動すると、何らかの理由でエディターを含むページにフォーカスが移りますが、エディターのiframeではフォーカスが失われます。そのため、エディターは応答を停止します。この奇妙なフォーカス遷移を引き起こすのはJqueryMobileです。
さまざまな回避策を試しました。たとえば、エディターがエディターを失ったときにエディターのフォーカスを元に戻したり、JqueryMobileがエディターからページにフォーカスを移動しないようにしたりしました。ただし、これらの回避策は問題を部分的にしか解決しないか、すべてを解決するわけではありません。
最終的にCKEditor4にアップグレードしました(この記事の執筆時点ではまだベータ版です)。CKEditor4はまだiframeに基づいています。そのため、以前のバージョンと同じフォーカス関連の問題があります。ただし、CKEditor4はインライン編集もサポートしています。この実装は、iframeではなくcontenteditable要素に基づいています。フォーカスの問題はありません。インライン実装をニーズに合わせてカスタマイズし、サイトで使用しました。これまでのところ大丈夫です。