百度编辑器ueditor 异步加载时,初始化没办法赋值bug解决方法
金刚
前端
ueditor
初始化
因项目中使用了百度编辑器——ueditor。整体来说性能还不错。
发现问题
我在做一个编辑页面时,因我编辑页面数据是通过ajax异步请求过来的。
我发现异步请求过来数据后,赋值给ueditor时一直提示inerhtml错误。
排除异常情况
我自己又做了一个页面,直接赋值给ueditor,发现是可以的。
排除ueditor问题。
思考
我猜想是我异步请求数据造成ueditor没有初始化完成就给ueditor赋值,所以才会出现inerhtml错误的情况。
解决问题
仔细查看百度ueditor的官方API文档,发现一个事件 ready
具体可以参考链接 http://ueditor.baidu.com/doc/#UE.Editor:ready
editor.addListener( 'ready', function( editor ) {
editor.execCommand( 'focus' ); //编辑器家在完成后,让编辑器拿到焦点
} );
所以我把我代码改为:
var ue = UE.getEditor('GoodDescription');
//备注 (json.Body.GoodDescription 为异步请求过来的数据)
ue.addListener('ready', function (editor) {
ue.setContent(json.Body.GoodDescription);
});
本文为自己原创,转载请标记来源,谢谢。
作者:=金刚=
博客地址:http://www.cnblogs.com/woaic/