2012-09-25 73 views
0

說一句,剝皮這個野獸有點噩夢。與CKEditor瘋狂

在任何情況下,我試圖將對話窗口的textName添加到它的容器作爲一個類,以使我的生活更輕鬆。

我在做東西錯了,因爲它似乎不適合我。有任何想法嗎?我也嘗試過jQuery的方式,沒有成功。

CKEDITOR.on('dialogDefinition', function(ev){ 
        var dialogName = ev.data.name; 
        var dialogBox = document.querySelector('table.cke_1_dialog'); 
        dialogBox.setAttribute("class", dialogName); 
       }); 
+0

你知道如何在瀏覽器中進行調試嗎?如果是的話,設置一個斷點並檢查'dialogName'和'dialogBox'的值... –

+0

謝謝 - 看起來這個事件對我來說太早了,實際上操縱了對話窗口,因爲它沒有添加到DOM中。任何人都知道更好的事件來聽? – probablyup

回答

0

想通了。

CKEDITOR.on('dialogDefinition', function(ev){ 
    var dialogName = ev.data.name; 
    ev.data.definition.onLoad = labeler; 
    function labeler(){ 
     var dialogBox = document.querySelector('table.cke_dialog'); 
     dialogBox.className = dialogBox.className + " " + dialogName; 
    } 
}); 
+0

這裏不需要聲明一個單獨的函數。只需指定一個函數表達式:'ev.data.definition.onLoad = function(){var dialogBox ...};' –