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的朋友对遇到这样的问题有点帮助。

(0)

相关推荐

  • FCK 编辑器焦点问题

    第一个问题:廷时处理 在页面刚加载的时候对FCK赋值,比如在信息列表中选中一条信息进行查看或修改的时候,信息添加的时候用FCK编辑的,加载页面的时候会加载FCK编辑器,此时会报出一个错误:"FCKeditorAPI undefined",这是为什么呢,因为页面加载对FCKeditorAPI 赋值时FCKeditorAPI 还没创建好,所以才会出现这个错误.那如何解决呢? 我们做一个廷时处理就可以了: //id:控件ID,data:对控件赋值的内容 function SetData(id

  • asp.net使用FCK编辑器中的分页符实现长文章分页功能

    本文实例讲述了asp.net使用FCK编辑器中的分页符实现长文章分页功能.分享给大家供大家参考,具体如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SplitContent.aspx.cs" Inherits="SplitContent" %> <%@ Register Assembly="FredCK.FCKeditorV2&

  • FCK编辑器(FCKEditor)添加新按钮和功能的修改方法

    需要修改的文件: fckconfig.js zh-cn.js en.js fckeditorcode_gecko.js || fckeditorcode_ie.js(针对IE以外的浏览器||针对ie浏览器,如果要支持两种浏览器,就这两个包都修改) 第一步:在Toolbar中添加功能按钮 fckconfig.js:FCKConfig.ToolbarSets["Default"] 中添加按钮名称 FCKConfig.ToolbarSets["Default"] = [

  • JavaScript获取FCK编辑器信息的具体方法

    复制代码 代码如下: function getEditorContents(){     var oEditor = FCKeditorAPI.GetInstance("content");     alert(oEditor.GetXHTML(true)); } //向编辑器插入指定代码 function insertHTMLToEditor(codeStr){     var oEditor = FCKeditorAPI.GetInstance("content"

  • FCKeditor编辑器添加图片上传功能及图片路径问题解决方法

    现在很多CMS系统因为安全原因会把后台编辑器里的上传功能给去除,但这样一来对实际使用过程造成了很多麻烦,今天我们以ASPCMS系统的FCKeditor编辑器为例,说明一下如何增加图片上传功能. 1. 打开网站后台编辑器里的admin/editor/fckconfig.js这个文件 找到FCKConfig.ImageUpload = false 这句,把false改成true就行啦. FCKConfig.ImageBrowser = false ; 这里也同样把false改成true 2. 看一下

  • ajax php实现给fckeditor文本编辑器增加图片删除功能

    工作需要需要fck编辑器的服务器浏览加个图片删除的功能,我们利用ajax php实现的有需要的朋友可以参考下. 在fckeditoreditorfilemanagerbrowserdefault文件夹中找到frmresourceslist.html文件,修改代码如下 oListManager.GetFileRowHtml找到这里,下面代码替换原来的代码 复制代码 代码如下: oListManager.GetFileRowHtml = function(fileName, fileUrl, fil

  • ASp.net下fckeditor配置图片上传最简单的方法

    1. 原先的配置 把 fckeditor/filemanager/connectors 目录删除: 有同学可能会问了,都删除了怎么上传文件? 呵呵... 2. 不要引用 FredCK.FCKeditorV2.dll; 因为我都是采用js写的,不采用控件的方式: 其实网上有很多人在尝试往 fckeditor/filemanager/connectors目录下注入, 确实也有人不小心直接把FCK编辑器没有任何配置的情况下传到网上导致中招了: 3. 现在讲正题吧,一般来说我们用FCK的时候并不多,在一

  • FCKEDITOR 相关函数介绍

    获取FCK的实例 FCKeditorAPI是FCKeditor加载后注册的一个全局对象,利用它我们就可以完成对编辑器的各种操作. 在当前页获得 FCK 编辑器实例: var Editor = FCKeditorAPI.GetInstance('InstanceName'); 从 FCK 编辑器的弹出窗口中获得 FCK 编辑器实例: var Editor = window.parent.InnerDialogLoaded().FCK; 从 框架页面的子框架中获得其它子框架的 FCK 编辑器实例:

  • 伪静态下不能使用FCKeditor的解决方法

    在使用FCKeditor的时候,可能会碰到以下这个问题,就是在编辑器页面出错,提示为:找不到页面/fckeditor/editor/fckeditor.aspx 那是因为正则中把fckeditor.html也替换成aspx的问题,而实际上并不存在后缀为ASPX的文件.针对这些错误,我采用了下面的方法: 第1步:在正则中优先替换FCK编辑器文件夹的路径,并替换为htm后缀. 复制代码 代码如下: <RewriterRule> <LookFor>~/fckeditor/(.*).htm

  • Js FCKeditor的值获取和修改的代码小结

    利用Javascript取和设FCKeditor值也是非常容易的,如下: // 获取编辑器中HTML内容 function getEditorHTMLContents(EditorName) { var oEditor = FCKeditorAPI.GetInstance(EditorName); return(oEditor.GetXHTML(true)); } // 获取编辑器中文字内容 function getEditorTextContents(EditorName) { var oEd

随机推荐