欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

百度编辑器 ueditor 内容编辑自动套P标签,及p标签 替换

程序员文章站 2022-03-07 08:12:29
如图,红框为回车键和shift+回车 :    ===>>  ueditor.all.js中: 1: 搜索修改成false...

如图,红框为回车键和shift+回车 :

百度编辑器 ueditor 内容编辑自动套P标签,及p标签 替换   ===>> 百度编辑器 ueditor 内容编辑自动套P标签,及p标签 替换

ueditor.all.js中:

1:

搜索修改成false:allowdivtranstop: false
再搜索并修改以下:

//编辑器不能为空内容

if (domutils.isemptynode(me.body)) {
me.body.innerhtml = '<div>' + (browser.ie ? '' : '<br/>') + '</div>';
}

2:

//给文本或者inline节点套p标签
      if (me.options.entertag == 'p') {

        var child = this.body.firstchild, tmpnode;
        if (!child || child.nodetype == 1 &&
          (dtd.$cdata[child.tagname] || iscdatadiv(child) ||
            domutils.iscustomenode(child)
            )
          && child === this.body.lastchild) {
          this.body.innerhtml = '<div>' + (browser.ie ? '&nbsp;' : '<br/>') + '</div>' + this.body.innerhtml;

        } else {
          var p = me.document.createelement('div');
          while (child) {
            while (child && (child.nodetype == 3 || child.nodetype == 1 && dtd.p[child.tagname] && !dtd.$cdata[child.tagname])) {
              tmpnode = child.nextsibling;
              p.appendchild(child);
              child = tmpnode;
            }
            if (p.firstchild) {
              if (!child) {
                me.body.appendchild(p);
                break;
              } else {
                child.parentnode.insertbefore(p, child);
                p = me.document.createelement('div');
              }
            }
            child = child.nextsibling;
          }
        }
      }

以上类似的有好几处,将p 改为 div

3:

上代码框中 if (me.options.entertag == 'p') 这个p根据以下开关来走
entertag: 'p',//改后为回车换行增加br,不改为换行增加div
4:

//进入编辑器的li要套p标签,我不需要套p,注释掉吧

//进入编辑器的li要套p标签
  /*这里开始注释掉 me.addinputrule(function(root){
    utils.each(root.getnodesbytagname('li'),function(li){
      var tmpp = ue.unode.createelement('p');
      for(var i= 0,ci;ci=li.children[i];){
        if(ci.type == 'text' || dtd.p[ci.tagname]){

5:以下找到并注释

//注释掉,这个是自动给ul增加一个内置的样式,如<ul class=" list-paddingleft-2">
node.classname = utils.trim(node.classname.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type;
//往下隔一行的这个注释掉,这个是自动去除粘贴进去的代码的li的style样式,为何清除我的样式?
li.style.csstext && (li.style.csstext = '');

到此就完成了