我有一个带有 Canvas 的页面,用户可以使用“添加文本”按钮添加文本。当用户单击此按钮时,将在 Canvas 上创建一个新的 TinyMCE。我想更改这个新的 TinyMCE,但是因为我无法访问tinyMCE 创建代码(init),所以我必须在我的“document.ready()”中为 TinyMCE 提供某种“on init 监听器”。
我知道你可以像这样在 TinyMCE 的 init 上进行回调:
setup: function (ed) {
ed.on('init', function(args) {
console.debug(args.target.id);
});
}
但正如我所说,我无法访问 TinyMCE 的创建代码。
如何检查是否已创建新的 TinyMCE 实例(并在 Javascript 中使用它)?
最佳答案
如果您的页面为您提供了一个配置对象,但您想要调整其设置,您始终可以使用 JavaScript 逐页修改/扩展您的标准 init。
例如,从标准配置开始:
baseConfig = {
selector: 'textarea'
....
}
...因为这只是一个简单的 JavaScript 对象,所以您可以在使用它初始化 TinyMCE 之前向该对象注入(inject)其他属性/方法。
例如:
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
“注入(inject)”到baseConfig
中。最简单的方法是使用 jQuery 的扩展方法:
$.extend(baseConfig, customConfig);
...这将从 customConfig
中获取所有方法和属性,并将它们添加到 baseConfig
中。完成后,您可以使用新更新的 baseConfig
加载 TinyMCE:
tinymce.init(baseConfig);
您还可以使用 JavaScript 删除属性(阅读删除
),这样您也可以删除 TinyMCE init 中不需要的配置属性。
关于javascript - 如何判断页面上是否启动/创建了TinyMCE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498316/