tinymce编辑器插件,给选中文本添加黑色边框

tinymce编辑器插件,给选中文本添加黑色边框
github源码地址
如果有帮助可以给个star嘛~~

tinymce.PluginManager.add('addborder', function (editor, url) {
    var pluginName = '添加边框';
    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');

    var doAct = function () {
        var blocks = editor.selection.getSelectedBlocks();
        global$1.each(blocks, (block) => {
            if (block.innerHTML.indexOf('border') != -1) {
                let str = blocks[0].innerHTML.replace(/<span [^>]*>/g, '').replace(/<\/span>/g, '');
                let p = document.createElement('p');
                p.innerHTML = str
            } else {
                const content = editor.selection.getContent();
                if (content) {
                    const spanNode = `<span has-border="true" style="border:1px solid black;">${content}</span>`
                    editor.insertContent(spanNode);
                }
            }
        })
    };

    editor.ui.registry.addIcon('addborder', '边框');

    var stateSelectorAdapter = function (editor, selector) {
        return function (buttonApi) {
            return editor.selection.selectorChangedWithUnbind(selector.join(','), buttonApi.setActive).unbind;
        };
    };

    editor.ui.registry.addToggleButton('addborder', {
        icon: 'addborder',
        tooltip: pluginName,
        onAction: function () {
            doAct();
        },
        onSetup: stateSelectorAdapter(editor, [
            '*[data-mce-style*="border"]',
        ]),
    });

    editor.ui.registry.addMenuItem('addborder', {
        text: pluginName,
        onAction: function () {
            doAct();
        }
    });

    editor.addCommand('addborder', doAct);

    return {
        getMetadata: function () {
            return {
                name: pluginName,
                url: "",
            };
        }
    };
});

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值