如何从TinyMCE 4.x编辑器实例引用FloatPanel

时间:2014-03-12 12:10:14

标签: jquery tinymce-4

我在inline配置中使用了新的TinyMCE 4.x编辑器。在此模式下,编辑器将包含FloatPanel,其中包含所有菜单项和按钮。我正在处理一个事件,我在变量ed中引用了TinyMCE。 有没有简单的方法来获取FloatPanel对所有菜单项和按钮的引用?

我知道我可以使用$(".mce-container.mce-panel.mce-floatpanel")使用jquery获取匹配HTML元素的 list 但我不知道如何将每个面板与每个编辑器匹配,以防我有多个编辑器单页(当TinyMCE在内联模式下工作时,所有这些div元素都会添加到主机文档的末尾)。另外,这只给出了我的HTML元素列表,而没有简单的方法来处理FloatPanel对象。

简而言之,如何在给定http://www.tinymce.com/wiki.php/api4:class.tinymce.ui.FloatPanel时引用实现接口http://www.tinymce.com/wiki.php/api4:class.tinymce.Editor的容器对象?

1 个答案:

答案 0 :(得分:4)

似乎没有任何记录的方法,但调查实时JS对象提供了一些信息。

鉴于ed(TinyMCE编辑器的实例),您可以这样做:

var panel = ed.theme.panel;

请注意,根据http://www.tinymce.com/wiki.php/api4:class.tinymce.Theme的当前文档,theme.panel不存在。

如果你需要获得相应的<div>元素,你可以这样做:

var paneldiv = window.document.getElementById(panel._id);

请注意,我们需要在此处使用_id属性。该下划线应该暗示这不是(官方)公共接口。但是,我对这个用例一无所知。这也没有在任何地方正式记录。