2015-10-16 53 views
0

我嘗試禁用編程標準的「保存」按鈕保存插件TinyMCE的 - 禁用標準保存按鈕

tinymce.init 
    ({ 
    selector: '#editorMain', 
    plugins: "save,code,textcolor,charmap,searchreplace,paste,wordcount", 
    height: 400, 
    setup: function(editor) { 
     editor.on('keyup',function(e){ 
      console.log(getStats('editorMain').chars); 
      var body = tinymce.get('editorMain').getBody(); 
      var currentValue=tinymce.trim(body.innerText || body.textContent); 
      var currentCharsCount=getStats('editorMain').chars; 
      var limit=10; 
      var diff=limit - currentCharsCount; 
      if (diff>-1) 
      { 
       $("#chars_left").html(diff + " characters left"); 
      } 
      else 
      { 
       $("#chars_left").html("Your comment is too long"); 
       // here should we disable the save button 
      } 

     }); 
    }, 

我用Google搜索的解決方案,並發現,在3.x版本有叫做對象「 ControlManager」。這在第4版(一個我目前使用)

據應實行做以下的文檔被刪除:

// In TinyMCE 4 you can use the simpler stateSelector setting 
editor.addButton('SomeButton', { 
    text: 'My button', 
    stateSelector: 'a' 
}); 

,但怎麼能這樣工作,爲「保存」按鈕?保存按鈕出現在我使用「保存」插件時,這不必以編程方式添加。

回答

0

如果你不希望的功能保存插件只需從plugins:初始化選項列表中刪除。使用這裏顯示的列表。

tinymce.init 
    ({ 
    selector: '#editorMain', 
    plugins: "code,textcolor,charmap,searchreplace,paste,wordcount", 
    .... 
+0

我的確想要的功能,我只需要禁用保存按鈕取決於字符在文本區域的數量,這意味着:默認激活,如果限制達到停用。 – laloune

+0

類'tinymce.ui.MenuButton'(或它的父類之一)可能是你在找什麼。這個類有設置禁用方法/獲取在控制禁用狀態:'禁用(狀態:布爾)' – DFriend

+0

的保存插件有一個'save_enablewhendirty'選項,設置爲true時,禁用按鈕,直到修改製成。有了這一套,你也許能夠綁定到編輯變化事件,然後使用'editor.isNotDirty'迫使編輯器的狀態清洗,直至達到最大字符數。但是強制NotDirty可能會混淆撤銷/重做狀態。所以,你可能不得不寫一個自定義插件來代替保存。如果你走的滾你 - 擁有 - 插件路徑望着保存插件的源代碼可能是一個很好的起點。 – DFriend

1

那麼這是一個艱難的。這:

tinymce.activeEditor.theme.panel.find('toolbar *')[1]; 

使能訪問按鈕。然後是「.disabled(1)」方法。

這是一個遺憾,我們不能用自己的名字或ID訪問的元素...

+0

謝謝您的建議laloune.Here是我的使用情況啓用/禁用工具欄的按鈕http://fiddle.tinymce.com/p3faab – stoycho