ソリューションの更新
しばらく検索した後、これを回避できると思います。私にとって、モーダル ダイアログを使用する唯一の機能は、その背後にある要素からのアクセスを防止することです。背後にオーバーレイがある非モーダルダイアログを使用するのと同じであることがわかりました。オーバーレイは、モーダル ダイアログになるというトリックを実行しただけです (ただし、完全な機能を備えたモーダルではありません)。
これが私の解決策です。ダイアログを初期化する前に、その前に div 要素を挿入し、div にui-widget-overlayクラスを与えます。.insertBefore()メソッドを使用して行われます。そして、ダイアログの「閉じる」イベントで、そのオーバーレイ div を削除します。ダイアログの「モーダル」オプションがfalseに設定されています。このソリューションを使用すると、モーダル ダイアログ (CKEditor ポップアップ) が 1 つしかないため、CKEditor ポップアップが正常に機能します。
jsfiddleのコード全体を次に示します。お役に立てれば。
jQueryを使用してダイアログを表示しています。このダイアログを modal mode に設定しました。そのダイアログ内に、CKEditor で使用されるテキストエリアを含めます。ダイアログを表示すると、テキストエリアが CKEditor によって適切に変換されます。しかし、画像を含めようとすると ( CKEditor は入力用に ITS OWN DIALOG を表示します)、URL 入力を使用できません。
これは、ダイアログを初期化するための私のコードです:
var $dialogJurnal = $("#dialog").dialog({
autoOpen: false,
height: 630,
width: 'auto',
maxHeight: 630,
resize: 'auto',
modal: true
});
その構成では、テキストボックスをクリックして入力できません。
そして、モーダルを false に設定すると、動作するはずだとわかりました。
これはコードです:
var $dialogJurnal = $("#dialog").dialog({
autoOpen: false,
height: 630,
width: 'auto',
maxHeight: 630,
resize: 'auto',
modal: false
});
そのコードでは、すべてが正常です。テキストボックスをクリックして入力できます。
モーダルモードを有効にする必要があるため、これが問題になります。CKEditor入力ダイアログをブロックするjQueryダイアログ(またはそれに類似したもの)からのz-indexが原因だと思います。誰でも私を助けることができますか?