解决summernote富文本编辑器粘贴会出现两张图片

本文描述了如何修复Summernote富文本编辑器在火狐和谷歌浏览器上粘贴图片重复的问题,通过调整初始化设置和使用onPaste回调函数实现。

项目中引用了summernote富文本编辑器,可能是因为版本过低,所以使用火狐和谷歌浏览器都会出现粘贴图片会重复,明明只粘贴一次但是出现了两张图片,效果大致如图:

搜了好多资料都是改的js文件,但是我在老版本的js文件中并没有发现相关方法的定义和解释,尝试把方法写入但是并没有作用,最后参考了一篇文章解决了,具体代码如下:

$('.summernote').summernote({
    lang: 'zh-CN',        
    placeholder: '请输入',
    toolbar: [
        [ 'style', [ 'style' ] ],
        [ 'font', [ 'bold', 'italic', 'strikethrough', 'superscript', 'subscript',         'clear'] ],
        [ 'fontname', [ 'fontname' ] ],
        [ 'fontsize', [ 'fontsize' ] ],
        [ 'para', [ 'ol', 'ul', 'paragraph', 'height' ] ],
        [ 'view', [ 'undo', 'redo', 'fullscreen' ] ]
    ],
    minHeight:300,
    callbacks: {
        //解决粘贴会出现两张图片
        onPaste:function (ne){
            var _clipboardData = (ne. originalEvent || ne).clipboardData ||                                               window.clipboardData;
            var bufferHtml = _clipboardData.getData('text/html');
            var bufferText = _clipboardData.getData( 'text/plain');
            ne. preventDefault ? ne. preventDefault():(ne.returnValue = false)
            if (bufferHtml ==""){
                document.execCommand(" bufferText",false,bufferText)
            }else{
                document.execCommand("insertHTML",false,bufferHtml)
            }
        }
    }
});
$('.summernote').summernote('code', markupStr);

初始化插件的时候,在回调中定义onPaste即可解决问题~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值