summernote插件更换字体时遇换行失效bug(已解决)

先将summernote.min.js格式化,idea格式化:ctrl+shift+alt+l,然后找到rt()方法,替换掉

function rt(t, e) {
                var n, o;
                if (!t.node) return null  //低版本浏览器ctrl+a全选时切换字体失效bug修复
                if (/*t.node!=null &&*/ W(t.node)) return {node: n = t.node.nextSibling, offset: o = 0};
                if (U(t.node) === t.offset) {
                    if (S(t.node)) return null;
                    var i = at(t.node);
                    i ? (n = i, o = 0) : (n = t.node.parentNode, o = et(t.node) + 1), S(n) && (n = t.node.nextSibling, o = 0)
                } else if (nt(t.node)) {

                   /* if (W(t.node.childNodes[t.offset])){
                        var i = at(t.node.childNodes[t.offset]);
                        i ? (n = i, o = 0): (n = )
                    }*/
                    // if (o = 0, W(n = t.node.childNodes[t.offset])) return null
                    if (o = 0, W(n = t.node.childNodes[t.offset])) /*return null*/{   /*切换字体大下或字体时遇换行停止bug解决*/
                        var i = at(n);
                        i ? (n = i, o = 0) : (n = n.parentNode, o = et(t.node.childNodes[t.offset]) + 1), S(n) && (n = t.node.childNodes[t.offset].nextSibling, o = 0)
                    }
                    /*{
                        var i = at(n.node);
                        i ? (n = i, o = 0) : (n = n.node.parentNode, o = et(n.node) + 1), S(n) && (n = t.node.nextSibling, o = 0)
                    }*/
                } else if (n = t.node, o = e ? U(t.node) : t.offset + 1, W(n)) return null;
                return {node: n, offset: o}
            }

原因是如果某个节点中的子节点只有一个并且为<br>时(W()方法判断),此方法会返回null,导致循环终止

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值