4

新しい TinyMCE 4 用のカスタム プラグインを開発しています。このプラグインはモーダル画面を利用します。既に開発したモーダル スクリーン/JS サービスを使用したいので、TinyMce の Window manager を使用しないことにしました

問題は、開いているモーダル画面を開くとすぐに TinyMCE がフォーカスを失うことです。TinyMce でツールバーを開いたままにしておきたいのですが、そうしないとエディターとやり取りできないからです。TinyMCe は、blur イベントを受け取ったために閉じます (開いているウィンドウを認識していない可能性が最も高いため)。

問題を示す縮小版の問題は、次の Fiddle にあります。[例] ボタンをクリック するとすぐに問題が発生します。http://fiddle.tinymce.com/pudaab/1

短縮コードを以下に添付します。

tinymce.PluginManager.add('example', function(editor, url) {
    // Add a button that opens a window
    editor.addButton('example', {
        text: 'My button',
        icon: false,
        onclick: function() {
            var selection = editor.selection,
                dom = editor.dom,
                selectedElm,
                anchorElm;

            // Focus the editor since selection is lost on WebKit in inline mode
            editor.focus();

           // Open a modal screen using bootstrap
            $('#elem').modal();

            // Note: As soon as modal opens TinyMce receives a blur event and disables the toolbar
        }
    });
});
4

1 に答える 1

2

私は最終的にそれを自分で解決することができました。トリックはeditor.nodeChanged()、モーダル画面を呼び出す前に呼び出すことです。次に、モーダル画面を閉じるときに を呼び出しますeditor.focus()

でも助けてくれてありがとう!

于 2013-08-01T11:40:44.723 に答える