解决ueditor编辑器中li的样式丢失问题


2023-06-29 15:25:55

用ueditor时,通过源代码模式,在li中加自定class后,保存后丢失。
查了下ueditor源码,发现与两个地方相关。

  1. plugin['defaultfilter']中
UE.plugins["defaultfilter"] = function() {
             ...
                      case "li":
                        var className = node.getAttr("class");
                        if (!className || !/list\-/.test(className)) {
                          node.setAttr();
                        }
            
  1. adjustListStyle时修改了li样式
  me.addListener("contentchange", function() {
                adjustListStyle(me.document);
              });
              function adjustListStyle(doc, ignore) {
               ...
              li.className = li.className.replace(/list-[\w\-]+/gi, ""); 
            

结论:手写样式list-开头,再修改下ueditor代码,去掉li.className.replace(....) 就能保持住