如何使用tinymce 4.0b3关闭插件对话框

时间:2013-08-30 12:55:44

标签: javascript tinymce

我想在第一个按钮的onclick函数中关闭对话框,我已经尝试通过console.log运行我在windowManager对象上找到的close()函数,但它不起作用。 当我这样做时:

console.log(editor.windowManager);

我看到以下输出:

Object {windows: Array[1], open: function, alert: function, confirm: function, close: function}

然后我调用你在上面的输出中看到的关闭功能,如此

editor.windowManager.close();

然后我得到:

Uncaught TypeError: Cannot call method 'close' of undefined

这是我的代码

            tinymce.PluginManager.add('jbimages', function (editor, url) {
                function jbBox() {
                    editor.windowManager.open({
                        title: 'Upload an image',
                        file: url + '/dialog-v4.htm',
                        width: 350,
                        height: 135,
                        buttons: [{
                            text: 'Upload',
                            classes: 'widget btn primary first abs-layout-item',
                            disabled: false,
                            onclick: function(){
                                $('#mce_39-body iframe').contents().find('#upl').submit();
                                editor.windowManager.close();
                            }
                        }, {
                            text: 'Close',
                            onclick: 'close'
                        }]
                    })
                }
  });

1 个答案:

答案 0 :(得分:0)

你可以这样关闭弹出窗口:

tinymce.PluginManager.add('jbimages', function (editor, url) {
  function jbBox() {
    editor.windowManager.open({
      title: 'Upload an image',
      file: url + '/dialog-v4.htm',
      width: 350,
      height: 135,
      buttons: [{
        text: 'Upload',
        classes: 'widget btn primary first abs-layout-item',
        disabled: false,
        onclick: function(){
          $('#mce_39-body iframe').contents().find('#upl').submit();
          editor.windowManager.close();
        }
      }, {
        text: 'Close',
        onclick: editor.windowManager.close()
      }]
    })
  }
});

查看提供的插件,更常见的方法是将editor.dom分配给var并在其上调用close,如下所示:

var win = editor.dom
...
win.close()