2013-08-30 27 views
1

我想關閉第一個按鈕的onclick函數內的對話框,我試着運行我通過控制檯在windowManager對象上找到的close()函數.log但它不起作用。 當我這樣做:如何使用tinymce關閉插件對話框4.0b3

console.log(editor.windowManager); 

我看到下面的輸出:

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

,然後我叫你在輸出看到上面,像這樣

editor.windowManager.close(); 

,然後關閉函數I獲得:

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' 
         }] 
        }) 
       } 
    }); 

回答

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()