如何设置回调在所有tinyMCE编辑器初始化完成后执行?
How to set callback to execute after all the tinyMCE editors have been initialized?
我已经使用 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).
请告诉我是否有办法做到这一点。并问我是否需要更多信息或者我不清楚。
提前致谢:)
您可以在使用编辑器配置中的 setup 选项初始化后填充 TinyMCE。例如:
setup: function (editor) {
editor.on('init', function (e) {
editor.setContent('<p>Hello world!</p>');
});
}
尝试在调用 wp_editor() 时传入这些编辑器设置。
资源:
您可以等待添加特定的编辑器管理器,然后绑定 init
事件处理程序来设置编辑器的内容,如下所示:
tinymce.on( 'addeditor', e => {
if ( e.editor.id === <your_editor_id> ) {
e.editor.on( 'init', event => {
event.target.setContent( <your_editor_content> );
});
}
}, true );
我已经使用 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).
请告诉我是否有办法做到这一点。并问我是否需要更多信息或者我不清楚。
提前致谢:)
您可以在使用编辑器配置中的 setup 选项初始化后填充 TinyMCE。例如:
setup: function (editor) {
editor.on('init', function (e) {
editor.setContent('<p>Hello world!</p>');
});
}
尝试在调用 wp_editor() 时传入这些编辑器设置。
资源:
您可以等待添加特定的编辑器管理器,然后绑定 init
事件处理程序来设置编辑器的内容,如下所示:
tinymce.on( 'addeditor', e => {
if ( e.editor.id === <your_editor_id> ) {
e.editor.on( 'init', event => {
event.target.setContent( <your_editor_content> );
});
}
}, true );