TinyMCE捕获点击按钮事件

时间:2012-03-12 10:30:04

标签: tinymce

是否可以在TinyMCE中知道点击了哪个按钮?所以我可以对特定按钮的特定事件进行特定操作。

这里的按钮是默认的控制按钮,如粗体/斜体/选择字体,而不是自定义按钮。

可能在init中,但我不知道该怎么称呼。我可以捕获编辑器的事件而不是按钮的。

例如,假设每次点击粗体按钮时都要弹出一个消息框。如何捕获粗体按钮的click事件?是唯一的方法创建自定义按钮?

2 个答案:

答案 0 :(得分:4)

不,你可以定义一个自己的命令并在buttonklick上调用这个命令(+ defualt动作)。我不知道你是否想要所有按钮的通用方式。但只需一两个按钮就可以轻松完成。

示例:我们想对粗体按钮执行操作。 首先,我们在自己的一个插件中定义一个自己的命令(在“init:function(ed,url)” - section)中:

ed.addCommand('my_bold', this.my_bold, this); //calls the function my_bold

然后我们用命令覆盖默认操作:

if (ed.controlManager.get('bold')){
    ed.controlManager.get('bold').settings.cmd='my_bold_action';
};

现在,我们只需要定义函数my bold

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

    // now do whatever you like here
    ...
},

答案 1 :(得分:1)

必须在“onInit”方法中调用

ed.controlManager

ed.onInit.add(function(editor) {
    .......
    ........

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

});