捕捉的插件,按下按钮,TinyMCE的(Catch pressing button in plugi

2019-10-17 00:22发布

我要赶按下按钮一些的事件。 在TinyMCE的捕捉单击按钮事件有人提出的如何做到这一点简单的解决方案,但对我来说这是行不通的。 能否请你帮忙。 这里是我的代码TinyMCE的/插件/ test文件夹中editor_plugin_src.js和editor_plugin.js文件:

(function(){
tinymce.create("tinymce.plugins.testPlugin",{
    init:function(ed,url){
        ed.addCommand('my_bold', this.my_bold, this); //calls the function my_bold
        ed.onInit.add(function(editor) {
            if (editor.controlManager.get('bold')){
                editor.controlManager.get('bold').settings.cmd='my_bold_action'; 
            };

        });
    },
    my_bold: function() {           
        // exectution of regular command
        this.editor.execCommand('Bold');

        // now do whatever you like here
        alert('pressed');
    },
    createControl:function(b,a){
        return null
    },
    getInfo:function(){
        return{
            longname:"test plugin",
            author:"test author",
            authorurl:"http://tinymce.moxiecode.com",
            infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",
            version:"1.0"
        }
    }
});
tinymce.PluginManager.add("test",tinymce.plugins.TestPlugin)     })();

在这里,我激活插件测试:

    $(this).tinymce({
        ...
        autoresize_bottom_margin : 15,
        mode : 'exact',
        elements : clickedId,           
        theme : 'advanced',
        plugins : 'autoresize,test',
        force_br_newlines : true,

更新:

(function(){
tinymce.PluginManager.requireLangPack("test");
tinymce.create("tinymce.plugins.test",{
    init:function(ed,url){
        ed.addCommand('my_bold', this.my_bold, this);//calls the function my_bold
        ed.onInit.add(function(editor) {
            if (editor.controlManager.get('bold')){
                editor.controlManager.get('bold').settings.cmd='my_bold'; 
            }
        });
    },
    my_bold: function() {           
        // exectution of regular command
        this.editor.execCommand('Bold');

        // now do whatever you like here
        alert('pressed');
    },
    createControl:function(ed,url){
        return null
    },
    getInfo:function(){
        return{
           longname:"test plugin",
           author:"test author",
           authorurl:"http://tinymce.moxiecode.com",
           infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",
           version:"1.0"
        }
    }
});
tinymce.PluginManager.add("test",tinymce.plugins.test)    })();

现在我有这个。

Answer 1:

你已经添加了大胆的按钮,将按钮的配置? 就像是:

theme_advanced_buttons1: "bold,italic,underline";

更新:

editor.controlManager.get('bold').settings.cmd='my_bold_action';

是错误的,您需要:

editor.controlManager.get('bold').settings.cmd='my_bold';

这里。



文章来源: Catch pressing button in plugin for tinyMCE