我有一个带有画布的页面,用户可以使用“添加文本”按钮添加文本。当用户单击此按钮时,将在画布上创建新的TinyMCE。我想改变这个新的TinyMCE,但是由于我无法访问tinyMCE创建代码(init),我必须在我的`document.ready()'中为TinyMCE提供某种“on init listener”。
我知道你可以像这样在TinyMCE的init上进行回调:
setup: function (ed) {
ed.on('init', function(args) {
console.debug(args.target.id);
});
}
但正如我所说,我无法达到TinyMCE的创作代码。
如何检查是否已创建新的TinyMCE实例(并在Javascript中使用它)?
答案 0 :(得分:1)
如果您的页面为您提供配置对象,但您想调整其设置,则可以始终使用JavaScript逐页修改/扩展标准init。
例如,从标准配置开始:
baseConfig = {
selector: 'textarea'
....
}
...因为这只是一个简单的JavaScript对象,所以在使用它来初始化TinyMCE之前,可以将其他属性/方法注入该对象。
例如:
customConfig = {
image_advtab: true,
content_css : "CSS/content.css?" + new Date().getTime(),
setup: function (editor) {
editor.on('init', function () {
//Do what you need to do once TinyMCE is initialized
});
}
}
然后你可以"注射" customConfig
baseConfig
。$.extend(baseConfig, customConfig);
。最简单的方法是使用jQuery的扩展方法:
customConfig
...这将采用baseConfig
中的所有方法和属性,并将其添加到baseConfig
。完成后,您可以使用新更新的tinymce.init(baseConfig);
:
delete
您还可以使用JavaScript删除属性(在<? ?> & <?= ?>
上阅读),这样您也可以删除TinyMCE init中不需要的配置属性。