百度编辑器ueditor,如何在源码模式与富文本模式相互切换
更新:2015-10-18 13:01:48
人气:7795
来源:本站原创
A+
今天在做评论内容编辑的时候用到了百度编辑器ueditor,但是在测试的时候发现一个问题,因为页面我是用AJAX调用数据再给ueditor写入内容,可如果在对不同内容进行编辑时,先打开的界面调用了编辑器的源码模式,编辑器会记住这个状态,再打开另一评论内容进行编辑时默认也是源码模式,但我想这样也还凑合用吧,可是发现源码模式下加载的内容并没有动态更新,只有在源码模式与富文本模式相互切换一次后才能更新为正确的内容。
所以,索性就一次解决这个问题吧,网上百度了一下,发现对百度编辑器ueditor的切换源码模式和编辑模式的说明文档不太详细,官方的API文档也查了一下,只有一个简单的说明:
Source的两个命令execCommand(String cmd)和queryCommandState(String cmd)
//切换源码模式和编辑模式 execCommand(String cmd) //cmd 命令字符串 //javascript代码示例: editor.execCommand('source'); //表示切换源码编辑模式和富文本编辑模式,如果当前为“源代码模式”则切换到“富文本编辑模式”,反之“富文本编辑模式”切换为“源代码模式”。 //***************************************************************************************** //查询当前编辑器的状态是源码模式还是可视化模式 queryCommandState(String cmd) //cmd 命令字符串 //javascript代码示例: editor.queryCommandState('source'); //返回值为int,如果当前是源码编辑模式,返回1,否则返回0
我们理解了两个命令的功能,就可以利用一下了:
if (UE.getEditor('text_id').queryCommandState('source')==1){ UE.getEditor('text_id').execCommand('source'); UE.getEditor('text_id').focus(); }
因为百度编辑器ueditor只提供了在源码模式与富文本模式相互切换的命令,并没有给出两个指定参数,可以直接设置利用。但好在还给出一个判断当前是哪种模式状态的判定方式,利用queryCommandState命令,如果当前是源码编辑模式,返回值为1,否则返回0。
所以我们先判断一下,如果当前是源码模式就切换为富文本模式,再让编辑器获取焦点,这样每次创建编辑器的时候都可以保持在富文本编辑模式下,结构上保持了统一,也获取了焦点保持了数据的同步。
推荐的文章
随手记
PHP经验分享
- ● 如何利用支付宝生成在线支付表单和链接?
- ● 如何使用强大的PHP函数对数组进行排序
- ● 关于开启ApacheGZIP功能及开启时报错误提示的解决办法
- ● 如何启用Apache服务器的rewrite和.htaccess功能
- ● 关于CSSHack技术的详解,针对:IE6-11、Chrome、FireFox、Safari、Opera浏览器兼容的解决办法
- ● jQuery与JavaScript获取当前页面的URL信息方法及使用说明
- ● MySQL如何利用索引优化WHERE和ORDERBY的查询语句效率
- ● CSS强制中文、英文换行与不换行的方法详解
- ● 解决百度编辑器UEditor保持前台与后台代码高亮显示一致的样式及换行的问题
- ● document.getElementById与getElementByName的不同与用法详解
关注分享
联系博主