为无序/有序列表定义自定义样式规则

时间:2014-10-13 20:24:20

标签: css ckeditor html-lists

我在CKEditor中有一个用例,用户可能需要插入无序或有序列表,但由于网站的品牌指南,我们需要提供为项目符号或数字着色的选项。我查看了List Style插件(http://ckeditor.com/addon/liststyle),但它没有提供该功能集,也没有提供有关如何在插件本身中添加这种设置的任何见解。将此功能添加到CKEditor的最佳选择是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码创建插件或修改现有插件以使列表项着色:

  var colorStyleLi = {
    element: 'li',
    styles: { 'color': '#(color)' }
  };

  var sel = editor.getSelection();
  var ranges = sel.getRanges();
  var st = new CKEDITOR.style(colorStyleLi, { color: color } );
  for (var i = 0, len = ranges.length; i < len; ++i) {
     var walker = new CKEDITOR.dom.walker(ranges[i]),
        node;
     while((node = walker.next())) {
        if(node.type==CKEDITOR.NODE_ELEMENT) {
           st.applyToObject(node, editor);
        } else {
           var p = node.getParent();
           st.applyToObject(p, editor);
        }
     }
  }