摘要:KindEditor与K其实是同一个东西,既然可以使用K.create的方式初始化,那么也可以使用KindEditor.create的方式初始化吧。
最近在做一个在线编辑的功能,使用了大家都推荐的kindeditor编辑器插件,在使用时发现有个坑,按照官方的例子ready加载没有加载出来。在kindeditor的官网上,给出的加载例子如下:
<script charset="utf-8" src="/editor/kindeditor.js"></script>
<script charset="utf-8" src="/editor/lang/zh-CN.js"></script>
<script>
     KindEditor.ready(function(K) {
          window.editor = K.create('#editor_id');
     });
</script>
但在我的页面中使用ready这种方式来加载,kindeditor编辑器没有显示,而且我在里面加了console.log日志也没有打印出来,这说明js没有执行到KindEditor的ready里面。
按照官方的例子,初始化是调用K.create(element)这个方法,进到kindeditor.js的源码中可以发现(提示:这两行代码在源码中不是放在一起的):
K.create = _create;
window.KindEditor = K;
KindEditor与K其实是同一个东西,既然可以使用K.create的方式初始化,那么也可以使用KindEditor.create的方式初始化吧。按照这样的思路修改代码,如下:
var keditor = null;
$(function () {
    keditor = KindEditor.create('#editor_id');
});
结果编辑器正常显示,截图如下:
至于官方例子为什么没有能正常加载我就不再深究了,有兴趣的可以自己再研究吧。

在使用的过程中发现另外一个问题,一个回车换行的间隔很大,不像正常的那种换行,切换到编辑器的源码模式,发现编辑器对回车换行添加的源码是<p>。找了一下kindeditor的源码,发现有一个字段newlineTag,如下:
newlineTag = 'p'
这个字段应该就是设置换行的源码的,明显是一个<p>元素,我把<p>改成了<br>,设置如下:
$(function () {
    keditor = KindEditor.create('#editor_id',{
          newlineTag:'br'
     });
});
再次回车换行,切到源码模式,可以看到换行的源码变成<br>了,页面也显示正常。


版权说明:如无特殊说明,文章均为本站原创,如需转载请注明出处

本文标题:kindeditor编辑器ready无法加载的解决办法

本文地址:http://www.wolfbe.com/detail/201608/339.html

本文标签: kindeditor 编辑器

相关文章

感谢您的支持,朗度云将继续前行

扫码打赏,金额随意

温馨提醒:打赏一旦完成,金额无法退还,请谨慎操作!

扫二维码 我要反馈 回到顶部