新しい 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
}
});
});