我如何获得 TinyMCEsettings https://www.tinymce.com/docs/api/class/tinymce/#init?
我想从第一个编辑器中获取它们并存储在变量中(第一个或最后一个并不重要,只要相关脚本不依赖 id 来获取设置)。然后,当需要时,将它们与tinyMCE.init
初始化新编辑器。
i.e.
var mysettings = $(".tinymce").last().GETEDITORSETTINGS;
$(".button").click(function(){
mysettings.selector = ".newtextarea";
tinyMCE.init(mysettings);
});
有两种基本方法可以处理这个问题......
选项 1 - 获取当前设置
tinymce.activeEditor.settings
将为您提供一个包含当前 TinyMCE 实例设置的对象。然后,您可以以任何需要的方式操作它,为要实例化的新编辑器实例创建一个新的 init 对象。 (您也可以使用tinymce.get().settings
以特定实例而不是活动编辑器为目标)。
选项 2 -(推荐)使用默认 init 并在每次需要时克隆它
另一种选择(也是我推荐的选择)是在页面上创建一个“默认”init 对象作为 JavaScript 变量,然后稍后引用它。例如:
var default_init = {
theme: "modern",
plugins....,
toolbar....
}
...然后,当您想要调用 TinyMCE 实例时,您可以使用该基础对象来进行初始化:
var first_init = jQuery.extend({}, default_init);
first_init.selector = ".first_textarea";
tinymce.init(first_init);
var second_init = jQuery.extend({}, default_init);
second_init.selector = ".second_textarea";
tinymce.init(second_init);
(如果您不使用 jQuery,您可以编写自己的对象克隆方法,而不是使用extend()
- 搜索SO,你会发现很多例子。对于典型的 init 不需要深复制,因此浅复制算法就足够了)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)