1

我的 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() 调用,但我不知道该放什么。

有什么线索吗?

4

2 回答 2

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);
于 2012-04-26T07:32:23.723 回答
1

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

于 2012-04-25T16:24:34.173 回答