m.s*_*tos 3 javascript wordpress jquery tinymce
我正在创建一个Wordpress插件,它metabox在包含按钮的帖子编辑器下添加了一个权限.该插件还会在结束</body>标记的正下方加载Javascript文件.
目的
目前,我想用插件实现的目标很简单.当用户向编辑器输入内容然后单击元框内的按钮时,我想修改编辑器的内容.
JS代码
最简单的形式:
jQuery(document).ready(function($) {
$('#button').on('click', function(e) {
e.preventDefault();
var editor = tinyMCE.get("content");
editor.setContent(some_content);
});
});
Run Code Online (Sandbox Code Playgroud)
问题
问题是editor变量回报undefined.
FIREBUG(试图设置时var editor)
wpActiveEditor:"content"
editors:[]
activeEditor:null
我做了什么
我在Tinymce的文档和Stackoverflow上找到了许多很多东西(也有许多小的调整),但问题仍然存在.
任何帮助将非常感激.
PS.运行我的测试时,内容textarea是可见的.
m.s*_*tos 11
当编辑器首次加载"文本"模式激活时,tinymce不会被初始化,因此您无法使用tinyMCE.get(),而不是"可视"模式.
(我没有注意到它实际上在"可视"模式下工作,因为我一直在"文本"模式下测试它)
因此,必须使用条件语句来确定哪个选项卡处于活动状态.我用这个方法解决了我的问题:
function setEditorContent(val) {
var $_editorTextArea = $('#content');
$_editorTextArea.is(':visible') ? $_editorTextArea.val(val) : tinyMCE.get('content').setContent(val);
}
Run Code Online (Sandbox Code Playgroud)
希望这个答案可以防止一些头痛:)
| 归档时间: |
|
| 查看次数: |
5860 次 |
| 最近记录: |