2011-07-26 47 views
0

我發現下面的答案尋找代碼瀏覽編輯文本區域元素。該代碼工作的情況下,onlyu問題是我不明白爲什麼..CKEditor的Javascript?文檔包裝

var documentWrapper = editorname.document; //replace by your CKEDitor instance ID 
var documentNode = documentWrapper.$; // or documentWrapper['$'] ;

的答案了從folloing StackOverflow的鏈接:

ckeditor scrollIntoView to a div element within the editor

尤其可能有人向我解釋語法documentWrapper $;

我不知道這是什麼意思?

感謝

回答

0

@oggiemc

的 「$」 表示CKEDITOR類對象指向實際DOM對象。 在這種情況下,您正在使用「CKEDITOR.dom.document」類。在此處查找文檔: http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dom.document.html

名爲「documentWrapper」的對象是CKEDITOR對象。它將具有該類對象的CKEDITOR API文檔中描述的任何屬性。你也可以使用CKEDITOR方法。

當您使用「documentWrapper。$」時,您正在使用文檔對象模型規範中描述的DOM對象。請參閱這裏的規格: http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/

該對象將具有在DOM規範中爲此對象類型描述的屬性。你不會在這個對象上使用CKEDITOR方法,你可以使用這個對象類型的DOM規範中描述的方法。

因此,「$」是CKEDITOR類對象指向的任何DOM對象(文檔,頭,主體,div,span,p等)的通用表示。

documentWrapper.someFunction();將在CKEDITOR類對象上使用CKEDITOR方法。 documentWrapper。$。someFunction();會在DOM對象上使用DOM方法。

+0

codewaggle 感謝您的answer..That或多或少清除它:) – oggiemc

+0

嗨喬,你能向我解釋說,作爲參數傳遞給所有的插件編輯器之間的差異/對話框:CKEDITOR.dialog.add('radio',函數(編輯器)和getParentEditor返回的編輯器謝謝 – oggiemc

+0

Hi oggiemc,我爲這個新問題添加了一個新答案,答案相當長。 – codewaggle

0

編輯器之間的差異作爲參數傳遞給插件/對話框和編輯由getParentEditor()返回傳遞。

他們通常會是同一個對象。但是,如果在一個頁面上有多個編輯器實例,則需要使用getParentEditor來確保使用正確的編輯器實例。

特別是如果多個編輯器共享一個toobar:我如何獲得多個CKEditor實例共享相同的工具欄? http://docs.cksource.com/CKEditor_3.x/Howto/Shared_Toolbar

你可以看看在CKEditor的目錄對話框單選按鈕的代碼: CKEditor的\ _source \插件\表格\對話框\收音機。JS

或者上Docs網站: http://docs.cksource.com/ckeditor_api/symbols/src/plugins_forms_dialogs_radio.js.html


當插件加載它使用當前的編輯器實例加載的標題和標籤文本,因爲他們將是所有場合的同一共享工具欄:

ckeditor_source \插件\形式\對話框\ radio.js(5): CKEDITOR.dialog.add( '無線電',功能(編輯)

(42)標籤:editor.lang 。 checkboxAndRadio.radioTitle, (43)名稱:editor.lang.checkboxAndRadio.radioTitle,


但在該對話框中使用的方法,它使用getParentEditor(),這樣的行動將在正確執行編輯器實例: ckeditor_source \ plugins \ forms \ dialogs \ radio.js(30): editor = this.getParentEditor(); (22)onOk:function()........ editor = this.getParentEditor();

+0

thanks joe ,這是有道理的..想知道你能看看你能幫我解決的另一個問題嗎?http://stackoverflow.com/questions/6990662/ckeditor-dialog-select-box-dynamic-population – oggiemc