我嘗試禁用編程標準的「保存」按鈕保存插件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'
});
,但怎麼能這樣工作,爲「保存」按鈕?保存按鈕出現在我使用「保存」插件時,這不必以編程方式添加。
我的確想要的功能,我只需要禁用保存按鈕取決於字符在文本區域的數量,這意味着:默認激活,如果限制達到停用。 – laloune
類'tinymce.ui.MenuButton'(或它的父類之一)可能是你在找什麼。這個類有設置禁用方法/獲取在控制禁用狀態:'禁用(狀態:布爾)' – DFriend
的保存插件有一個'save_enablewhendirty'選項,設置爲true時,禁用按鈕,直到修改製成。有了這一套,你也許能夠綁定到編輯變化事件,然後使用'editor.isNotDirty'迫使編輯器的狀態清洗,直至達到最大字符數。但是強制NotDirty可能會混淆撤銷/重做狀態。所以,你可能不得不寫一個自定義插件來代替保存。如果你走的滾你 - 擁有 - 插件路徑望着保存插件的源代碼可能是一個很好的起點。 – DFriend