FCK 編輯器焦點(diǎn)問(wèn)題
更新時(shí)間:2009年11月05日 00:02:20 作者:
在使用FCK編輯器的時(shí)候,我們經(jīng)常會(huì)進(jìn)行對(duì)FCK編輯器的賦值操作,賦值的操作有兩個(gè)關(guān)鍵的地方,如果不清楚的話出了錯(cuò)還百思不得其解.
第一個(gè)問(wèn)題:廷時(shí)處理
在頁(yè)面剛加載的時(shí)候?qū)CK賦值,比如在信息列表中選中一條信息進(jìn)行查看或修改的時(shí)候,信息添加的時(shí)候用FCK編輯的,加載頁(yè)面的時(shí)候會(huì)加載FCK編輯器,此時(shí)會(huì)報(bào)出一個(gè)錯(cuò)誤:"FCKeditorAPI undefined",這是為什么呢,因?yàn)轫?yè)面加載對(duì)FCKeditorAPI 賦值時(shí)FCKeditorAPI 還沒(méi)創(chuàng)建好,所以才會(huì)出現(xiàn)這個(gè)錯(cuò)誤。那如何解決呢?
我們做一個(gè)廷時(shí)處理就可以了:
//id:控件ID,data:對(duì)控件賦值的內(nèi)容
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了,>.<
第二個(gè)地方:對(duì)DOM對(duì)象進(jìn)行賦值
賦值的時(shí)候我們一般用FCKeditorAPI.GetInstance("控件ID").SetHTML("賦值字符串")來(lái)進(jìn)行賦值,這樣也是正確的,但在頁(yè)面加載的時(shí)候這樣賦值是不行了,
如果這樣賦值你會(huì)發(fā)現(xiàn)鼠標(biāo)焦點(diǎn)的控制就有問(wèn)題了,獲取焦點(diǎn)也獲取不到,這個(gè)時(shí)候就要用另一種賦值方式了,對(duì)控件的DOM對(duì)象進(jìn)行賦值:
FCKeditorAPI.GetInstance(“控件ID”).EditorDocument.body.innerHTML = “賦值字符串”;
這樣賦值焦點(diǎn)就恢復(fù)正常了。
碰到這個(gè)問(wèn)題的時(shí)候也郁悶了好久,希望對(duì)使用FCK的朋友對(duì)遇到這樣的問(wèn)題有點(diǎn)幫助。
在頁(yè)面剛加載的時(shí)候?qū)CK賦值,比如在信息列表中選中一條信息進(jìn)行查看或修改的時(shí)候,信息添加的時(shí)候用FCK編輯的,加載頁(yè)面的時(shí)候會(huì)加載FCK編輯器,此時(shí)會(huì)報(bào)出一個(gè)錯(cuò)誤:"FCKeditorAPI undefined",這是為什么呢,因?yàn)轫?yè)面加載對(duì)FCKeditorAPI 賦值時(shí)FCKeditorAPI 還沒(méi)創(chuàng)建好,所以才會(huì)出現(xiàn)這個(gè)錯(cuò)誤。那如何解決呢?
我們做一個(gè)廷時(shí)處理就可以了:
//id:控件ID,data:對(duì)控件賦值的內(nèi)容
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了,>.<
第二個(gè)地方:對(duì)DOM對(duì)象進(jìn)行賦值
賦值的時(shí)候我們一般用FCKeditorAPI.GetInstance("控件ID").SetHTML("賦值字符串")來(lái)進(jìn)行賦值,這樣也是正確的,但在頁(yè)面加載的時(shí)候這樣賦值是不行了,
如果這樣賦值你會(huì)發(fā)現(xiàn)鼠標(biāo)焦點(diǎn)的控制就有問(wèn)題了,獲取焦點(diǎn)也獲取不到,這個(gè)時(shí)候就要用另一種賦值方式了,對(duì)控件的DOM對(duì)象進(jìn)行賦值:
FCKeditorAPI.GetInstance(“控件ID”).EditorDocument.body.innerHTML = “賦值字符串”;
這樣賦值焦點(diǎn)就恢復(fù)正常了。
碰到這個(gè)問(wèn)題的時(shí)候也郁悶了好久,希望對(duì)使用FCK的朋友對(duì)遇到這樣的問(wèn)題有點(diǎn)幫助。
相關(guān)文章
解密FCKeditor 2.0 的設(shè)置.修改.使用方法
解密FCKeditor 2.0 的設(shè)置.修改.使用方法...2007-11-11
FCKEditor 自定義用戶(hù)目錄的修改步驟 (附源碼)
FCKEditor 自定義用戶(hù)目錄的修改步驟 (附源碼) ,需要的朋友可以參考下。2010-03-03
FCKeditor 網(wǎng)頁(yè)在線編輯器的使用方法
FCKeditor是一個(gè)功能強(qiáng)大支持所見(jiàn)即所得功能的文本編輯器,可以為用戶(hù)提供微軟office軟件一樣的在線文檔編輯服務(wù)。2010-03-03
快速解決百度編譯器json報(bào)錯(cuò)的問(wèn)題
下面小編就為大家?guī)?lái)一篇快速解決百度編譯器json報(bào)錯(cuò)的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
免費(fèi)開(kāi)源百度編輯器(UEditor)使用方法
UEditor是一個(gè)開(kāi)源免費(fèi)的編輯器,由百度web前端研發(fā)部開(kāi)發(fā)所見(jiàn)即所得富文本web編輯器,具有輕量,可定制,注重用戶(hù)體驗(yàn)等特點(diǎn),開(kāi)源基于BSD協(xié)議,允許自由使用和修改代碼2014-05-05

