ueditor1.4.3阻止过滤span标签

2025-06-24 14:43:41
推荐回答(1个)
回答1:

打开ueditor.all.js文件,搜索“allowDivTransToP”,找到以下代码:

    //进入编辑器的内容处理

    me.addInputRule(function (root) {

        ....此处代码省略

        //进行默认的处理

        root.traversal(function (node) {

            if (node.type == 'element') {

                if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {

                    if (!node.firstChild()) node.parentNode.removeChild(node);

                    else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {

                        //取消默认过滤span标签

                        //node.parentNode.removeChild(node, true)

                    }

                    return;

                }

                ....此处代码省略

            }

    });

    

//从编辑器出去的内容处理

    me.addOutputRule(function (root) {

        var val;

        root.traversal(function (node) {

            if (node.type == 'element') {

                if (me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {

                    if (!node.firstChild()) node.parentNode.removeChild(node);

                    else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {

                        //取消默认过滤span标签

                        //node.parentNode.removeChild(node, true)

                    }

                    return;

                }

                ...此处代码省略

            }

        })

    });

说明:加粗部分为修改代码,将两端代码注释掉即可