如何判断TinyMCE是否在页面上启动/创建?

时间:2016-07-21 07:59:04

标签: javascript jquery tinymce tinymce-4

我有一个带有画布的页面,用户可以使用“添加文本”按钮添加文本。当用户单击此按钮时,将在画布上创建新的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中使用它)?

1 个答案:

答案 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);

加载TinyMCE
delete

您还可以使用JavaScript删除属性(在<? ?> & <?= ?> 上阅读),这样您也可以删除TinyMCE init中不需要的配置属性。