如何将回调设置为在初始化所有tinyMCE编辑器之后执行?

问题描述 投票:2回答:2

我已经使用Wordpress的wp_editor功能加载了tinyMCE编辑器。

现在,我要在初始化该编辑器后为其设置值。我试图这样做:

$(function() {
    tinymce.get(...).setContent(...);
});

但是由于未初始化编辑器,因此抛出错误Cannot read property 'setContent' of undefined。为了确认这一点,我使用console.log( tinymce.editors.length )语句登录了控制台,并打印了0,但是稍后在加载完成后使用浏览器控制台检查变量tinymce.editors时,编辑器就在那儿,我可以对其进行操作。

因此,我的结论是等待所有tinyMCE编辑器初始化,然后运行以上代码以更改编辑器的值。请注意,我需要使用JS而不是从后端(php)设置值。

[请告诉我是否有办法实现这一目标。并问我是否需要更多信息,或者我不清楚。

提前感谢:)

javascript jquery wordpress tinymce
2个回答
3
投票

您可以等待特定编辑器管理器的添加,然后绑定init事件处理程序以设置编辑器的内容,如下所示:

tinymce.on( 'addeditor', e => {
    if ( e.editor.id === <your_editor_id> ) {
        e.editor.on( 'init', event => {
            event.target.setContent( <your_editor_content> );
        });
    }
}, true );

0
投票

您可以在TinyMCE中使用编辑器配置中的setup选项对其进行初始化。例如:

setup: function (editor) {
  editor.on('init', function (e) {
    editor.setContent('<p>Hello world!</p>');
  });
}

[在调用wp_editor()时尝试传递这些编辑器设置。

资源:

© www.soinside.com 2019 - 2024. All rights reserved.