我的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()调用,但我不知道该放什么。
任何线索?
答案 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做事方式,所以我欢迎任何进一步的建议。