2012-04-25 35 views
1

我在我的TinyMCE工具栏上有很多自定义按钮,其中大部分会在您点击它们时打开一个对话框,并提供一些其他选项。这一切工作正常。 这里是我的tinyMCE_setup的东西一个例子()函数:以编程方式激活自定义TinyMCE按钮

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

不过,我希望能够以编程方式调用这些,并伪造与jQuery的按钮。点击一个()将不会削减它。 我试图调用该函数直接

replyBoxDialog('link',tinyMCE); 

但无论我怎么努力的第二个参数,我不能得到正确的对象(所以当它的时候插入一些内容编辑器,因为它不能它不知道编辑器是什么)。

我也尝试了各种execCommand()调用,但我不知道该放在那里。

任何线索?

回答

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); 
+0

优秀。干杯。 – 2012-04-26 07:57:52

1

我已经设法通过在脚本顶部创建变量'globalEd'并将globalEd = ed;添加到tinyMCE_setup(),然后我可以拨打replyBoxDialog('dragndrop', globalEd);。这似乎是一个很好的做法,但我会欢迎任何进一步的建议。