2012-01-09 80 views
3

我想爲tinyMCE編輯器添加一個關閉全屏選項。有時用戶不知道他們必須點擊工具欄上的「全屏」圖標才能關閉全屏模式。所以在插件中,我添加了這個:添加一個關閉按鈕到tinyMCE全屏

$('#mce_fullscreen_container').click(function (e) { 
    e.stopPropagation(); 
    tinyMCE.activeEditor.execCommand('mceFullScreen'); 
}); 

然而,這也被稱爲時所見即所得的區域內的用戶點擊。 mce_fullscreen_container是wysiwyg周圍的灰色區域,我希望它能夠在wysiwyg編輯器本身之外單擊時全屏模式關閉。

我試過應用.not("#mce_fullscreen_container")這是在沒有任何運氣的容器內。

+0

您是否嘗試過在「全屏」看代碼tinymce按鈕?如果該按鈕關閉全屏meybe,則可以將該代碼重新用於您自己的'close fullscreen' – T23 2012-01-09 11:05:34

+0

該部件正在工作。我把它關閉了;但是當點擊大寫/意大利語或其他按鈕時,它也會關閉全屏模式。我希望它只在點擊wysiwyg區域時關閉 - 意味着它周圍的灰色區域「mce_fullscreen_container」。由於某種原因,它傳播? – ShaneKm 2012-01-09 11:16:26

+1

嗯,你說「mce_fullsreen_container」是灰色的,但是在我的tiny_mce instante中,id爲「mce_ful ..」的div是整個編輯器'windows',意思是整個工具欄和編輯器。 這將解釋行爲,你有 – T23 2012-01-09 11:26:15

回答

0

名爲e的變量是點擊事件。檢查點擊事件的目標,並根據運行tinyMCE.activeEditor.execCommand('mceFullScreen');(如果適用)。手指劃過,因爲我目前無法測試它。

對於更高級的TinyMCE編程,請查看setup配置選項,該選項可以使用一個命名函數,您可以使用該函數爲編程事件配置編輯器。如果你需要做很多事情,這非常有用。

http://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onClick

的例子是在你的情況下非常有用,因爲它可能讓TinyMCE的做你想做的更清潔的方式:

// Adds an observer to the onClick event using tinyMCE.init 
tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
      // check target here to see if it is your close button and if so... 
     }); 
    } 
}); 
+1

這隻有點擊內部wysiwyg區域時纔會觸發。 :( – ShaneKm 2012-01-16 09:59:48