2011-07-27 18 views
4

CKEditor 3.6ダイアログのテキスト入力ボックスにオートコンプリート機能を追加しました。 問題は、ENTERキーでリストから値を選択することができないことです。これは、ダイアログを閉じ、すべてのENTERキーイベントがdomのバブリングを停止するためです。 私は_source /プラグイン/ダイアログ/ plugin.jsでそれを見ることができます:CKEditorダイアログのENTERキー処理を無効にする

// ESC, ENTER 
var preventKeyBubblingKeys = { 27 :1, 13 :1 }; 
var preventKeyBubbling = function(e) 
{       
    if (e.data.getKeystroke() in preventKeyBubblingKeys) 
     e.data.stopPropagation(); 
}; 

は、元のコードを変更せずに、この動作を上書きする方法はありますか? 他のアイデアも大歓迎です!

答えて

0

これを回避するには、すべてのダイアログコンテンツをiframeに配置する必要があります。 バブリングが防止されているキーのリストが設定可能であり、ハードコードされていないといいでしょう。 CKEditorバージョン4の場合

0

オートコンプリートが動作し、入力がフォーカスを失ったときにそれを再度有効にしている間、私はOKボタンを無効にすることでこの問題を解決しています。

CKEDITOR.dialog.getCurrent()getButton(「OK」)を無効にします。 (); CKEDITOR.dialog.getCurrent()。getButton( "ok")。enable();

関連する問題