TinyMCE - 禁用标准保存按钮

时间:2015-10-16 14:45:31

标签: javascript jquery 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
            }

        });
    },

我搜索了一个解决方案,发现在版本3.x中有一个名为“ControlManager”的对象。这已在版本4(我目前使用的版本)中删除了

根据文档,应该执行以下操作:

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

但这怎么能用于“保存”按钮?当我使用“保存”插件时,保存按钮就会出现,这不必以编程方式添加。

2 个答案:

答案 0 :(得分:1)

好吧,这是一个艰难的。这样:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.aragost.javahg:javahg:0.4'
    }
}

task writeRevisionToFile << {
    new File(projectDir, "file-with-revision.txt").text = scmRevision
}


import com.aragost.javahg.Changeset
import com.aragost.javahg.Repository
import com.aragost.javahg.commands.ParentsCommand

String getHgRevision() {
    def repo = Repository.open(projectDir)
    def parentsCommand = new ParentsCommand(repo)
    List<Changeset> changesets = parentsCommand.execute()
    if (changesets == null || changesets.size() != 1) {
        def message = "Exactly one was parent expected. " + changesets
        throw new Exception(message)
    }
    return changesets[0].node
}

ext {
    scmRevision = getHgRevision()
}

可以访问该按钮。那么&#34; .disabled(1)&#34;方法

很遗憾我们无法使用他们的名字或ID来访问这些元素......

答案 1 :(得分:0)

如果您不想保存插件的功能,只需将其从plugins: init选项的列表中删除即可。使用此处显示的列表。

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