当前位置: 首页 > 图文教程 > 网络编程 > 网页编辑器 > FCK 编辑器焦点问题

网页编辑器
让 FCKeditor 支持多用户Web环境(以PHP为例)
Ewebeditor 文件上传问题
PHP网页 Ewebeditor 编辑器嵌入方法
FckEditor 上传图片后图片变小了!问题解决
fckeditor asp版本的文件重命名
FckEditor 中文配置手册
FCKEditor网页编辑器 几点使用心得
FCK 编辑器焦点问题
添加FCKeditor插件需要注意的地方
javascript 获取FCKeditor内容
eWebEditor 上传文件提示格式不正确的解决方法
xhEditor的异步载入实现代码
FCKeditor 编辑器插入代码功能实现步骤
配置fckeditor 实现图片的上传
FCKeditor提供了一个完整的JavaScript API
fckediter javascript事件函数代码
ASP FCKeditor在线编辑器使用方法
ASP下使用FCKeditor在线编辑器的方法
ASP.NET中FCKEDITOR在线编辑器的用法
php下FCKeditor2.6.5网页编辑器的使用方法

网页编辑器 中的 FCK 编辑器焦点问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 135 ::
收藏到网摘: n/a

在使用FCK编辑器的时候,我们经常会进行对FCK编辑器的赋值操作,赋值的操作有两个关键的地方,如果不清楚的话出了错还百思不得其解. 第一个问题:廷时处理
在页面刚加载的时候对FCK赋值,比如在信息列表中选中一条信息进行查看或修改的时候,信息添加的时候用FCK编辑的,加载页面的时候会加载FCK编辑器,此时会报出一个错误:"FCKeditorAPI undefined",这是为什么呢,因为页面加载对FCKeditorAPI 赋值时FCKeditorAPI 还没创建好,所以才会出现这个错误。那如何解决呢?
我们做一个廷时处理就可以了:
//id:控件ID,data:对控件赋值的内容
function SetData(id,data) {
if (typeof FCKeditorAPI == "undefined" || !FCKeditorAPI.GetInstance(id).EditingArea) {
setTimeout(function() { SetData(id,data); }, 500);
return;
}
FCKeditorAPI.GetInstance(id).EditorDocument.body.innerHTML = data;
setTimeout(function() { FCKeditorAPI.GetInstance(id).Focus(); }, 100);
}
这样就OK了,>.<
第二个地方:对DOM对象进行赋值
赋值的时候我们一般用FCKeditorAPI.GetInstance("控件ID").SetHTML("赋值字符串")来进行赋值,这样也是正确的,但在页面加载的时候这样赋值是不行了,
如果这样赋值你会发现鼠标焦点的控制就有问题了,获取焦点也获取不到,这个时候就要用另一种赋值方式了,对控件的DOM对象进行赋值:
FCKeditorAPI.GetInstance(“控件ID”).EditorDocument.body.innerHTML = “赋值字符串”;
这样赋值焦点就恢复正常了。
碰到这个问题的时候也郁闷了好久,希望对使用FCK的朋友对遇到这样的问题有点帮助。