TinyMCE捕获单击按钮事件

TinyMCE捕获单击按钮事件,tinymce,Tinymce,在TinyMCE中是否可能知道单击了哪个按钮?所以我可以对特定按钮的特定事件执行特定操作 这里的按钮是默认的控制按钮,如粗体/斜体/选择字体,而不是自定义按钮 可能在init中,但我不知道该叫什么。我可以捕捉编辑的事件,但不能捕捉按钮的事件 例如,假设每次单击粗体按钮时都会弹出一个messagebox。如何捕获粗体按钮的点击事件?创建自定义按钮是唯一的方法吗?否,您可以定义自己的命令并在ButtonClick上调用此命令(+解除操作)。我不知道您是否希望所有按钮都采用通用方式。但只需一个或两个按

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

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

可能在init中,但我不知道该叫什么。我可以捕捉编辑的事件,但不能捕捉按钮的事件


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

否,您可以定义自己的命令并在ButtonClick上调用此命令(+解除操作)。我不知道您是否希望所有按钮都采用通用方式。但只需一个或两个按钮就可以轻松完成

示例:我们想在粗体按钮上设置一个操作。 首先,我们在自己的一个插件中定义自己的命令(在“init:function(ed,url)”部分):

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

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
    ...
},

ed.controlManager
必须在“onInit”方法中调用:

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

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

});

对不起,我没听懂。你能给我举个例子吗?thx:)但在第4版中如何做到这一点。我看不到编辑器中有controlManager?@ironbone:对于tinymce 4,它的工作原理有些不同,因为行为在许多地方都发生了变化。-1“我的粗体动作”如果没有正确的上下文是无用的,我建议你不要复制/粘贴其他答案
ed.onInit.add(function(editor) {
    .......
    ........

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

});