2012-08-15 18 views
0

我正在使用ckeditor,並使用stylesheetparser從相當長的樣式表中加載樣式。它的工作原理,但我不能讓它按照我想要的方式工作:樣式下拉菜單將每個樣式的定義應用於樣式名稱的顯示;我希望這些是純文本。具體而言,某些樣式具有較大的頂部或底部邊距,這會在下拉內容中留下巨大空白。樣式表解析器和格式組合

我克隆了stylesheetparser plugin.js源代碼,並嘗試修改代碼,將解析的樣式推送到樣式列表中。我可以成功更改名稱,但不是名稱在列表中顯示的方式。如果我在此代碼中更改類屬性(如下所示),它將更改實際樣式定義,而不僅僅是用於在下拉列表中顯示樣式的樣式。

// Add each style to our "Styles" collection. 
    for (i = 0; i < aClasses.length; i++) 
    { 
     var oElement = aClasses[ i ].split('.'), 
      element = oElement[ 0 ].toLowerCase(), 
      sClassName = oElement[ 1 ]; 

     styles.push({ 
      name : element + '.' + sClassName, 
      element : element, 
      attributes : {'class' : sClassName} 
     }); 
    } 

有誰知道如何改變用於顯示下拉式樣式的樣式嗎?

回答

0

要改變這一點,您必須使用stylescombo插件,而不是樣式表解析器,因爲它只是填充樣式,但它是組合顯示它們的組合。

+0

非常感謝。對於任何想要使用樣式下拉外觀的人來說,它都會嵌入在editor.ui.addRichCombo代碼中的loadStylesSet函數中。在for循環中調用combo.add,第二個參數是HTML樣式在下拉菜單中的顯示方式。將其更改爲「styleName」而不是調用buildPreview函數,然後在下拉列表中獲取樣式名稱的純文本版本。 – 2012-08-16 23:45:33