Extjs中使用kindeditor可能会出现Ext窗口(或component)已经显示完成但是kindeditor却无法显示。导致该问题的原因可能是因为extjs组件由于渲染过程比较慢,而kindeditor可能在指定节点创建之前就进行渲染,导致节点未找到等问题,
“knode[0] is undefined”这个错误的产生是因为在ext组件未渲染完成时,kindeditor就开始渲染导致指定节点找不到的错误。
通常解决该问题比较简单,使用延时函数可以很容易解决这个问题。
(function(){
try{
if(_this.kindEditor){
_this.kindEditor.remove();//判断编辑器是否存在,如果存在则移除该编辑器
}
_this.kindEditor = KindEditor.create('#ezpageTextArea',{resizeType : 0});
_this.kindEditor.html(content);
}catch(e){//突发移除,则再次尝试渲染编辑器
_this.panel.doLayout(true);
if(_this.kindEditor){
_this.kindEditor.remove();//判断编辑器是否存在,如果存在则移除该编辑器
}
_this.kindEditor = KindEditor.create('#ezpageTextArea',{resizeType : 0});
_this.kindEditor.html(content);
}
}).defer(500);//延时函数
本文详细介绍了在使用Extjs和KindEditor时遇到的冲突问题,即KindEditor在Extjs组件未完全渲染前开始渲染导致的knode[0]isundefined错误。通过使用延时函数,可以轻松解决此问题,确保编辑器正确渲染并避免错误。
3739

被折叠的 条评论
为什么被折叠?



