抓住tinyMCE插件中的按钮

时间:2012-07-13 15:29:20

标签: plugins tinymce

我想抓住按下某个按钮的事件。 在TinyMCE capture click button event中提出了如何做到的简单解决方案,但对我来说它不起作用。能否请你帮忙。这是我在editor_plugin_src.js和editor_plugin.js文件中的tinymce / plugins / test文件夹中的代码:

(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)    })();

现在我有了。

1 个答案:

答案 0 :(得分:2)

您是否在按钮配置中添加了粗体按钮? 类似的东西:

theme_advanced_buttons1: "bold,italic,underline";

更新

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

是错误的,你需要:

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

这里。