以编程方式激活自定义TinyMCE按钮

时间:2012-04-25 16:13:00

标签: javascript tinymce

我的TinyMCE工具栏上有很多自定义按钮,当你点击它们时,大多数按钮会打开一个对话框,其中包含一些其他选项。一切正常。 这是我的tinyMCE_setup()函数中的一个例子:

ed.addButton('link2', {
    title: '{!link!}',
    image: '../style/common/images/link_20x20.png',
    onclick: function() {
        replyBoxDialog('link', ed);
    }
});

但是,我希望能够以编程方式调用这些,并使用jQuery伪造按钮上的.click()不会削减它。 我试过直接调用这个函数

replyBoxDialog('link',tinyMCE);

但无论我作为第二个参数尝试什么,我都无法获得正确的对象(所以当它在编辑器中插入内容时会失败,因为它不知道编辑器是什么)。

我也试过各种execCommand()调用,但我不知道该放什么。

任何线索?

2 个答案:

答案 0 :(得分:2)

您所要做的就是使用真正的编辑器对象作为参数

var editor_instance = tinymce.activeEditor; // in case you just use one editor
var editor_instance = tinymce.get('my_special_editor_id'); // in case you have more than one editor

replyBoxDialog('link', editor_instance);

答案 1 :(得分:1)

我设法通过在脚本顶部创建变量'globalEd'并将globalEd = ed;添加到tinyMCE_setup()来使其工作,然后我可以调用replyBoxDialog('dragndrop', globalEd);。这似乎是一种适当的hacky做事方式,所以我欢迎任何进一步的建议。