如何从SummerNote onPaste上的标签中删除样式属性?

时间:2017-04-19 09:24:25

标签: jquery wysiwyg text-editor rich-text-editor summernote

当用户将html内容粘贴到Summernote texteditor时,是否可以删除所有样式属性?

例如:(输入)

 <p style="font-weight:500; color:#000;">Hello World </p>
 <div style="display:block"> I am a Div content </div>

粘贴后的预期输出:

 <p>Hello World </p>
 <div> I am a Div content </div>

我想实现像Javascript / Jquery

这样的东西
$('tag').removeAttr("style");

SummerNote文本编辑器中是否有任何内置选项或功能可以执行此操作?

提前致谢

1 个答案:

答案 0 :(得分:0)

我终于适应了另一个解决方案(如何粘贴为纯文本:summernote doesn't allow to format pasted text after writing onpaste event

使用上述解决方案成功粘贴纯文本后,只需将文本更改为html并按照您的建议删除样式:

$('.summernote').summernote({
  callbacks: {
    onPaste: function (e) {
      var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('text/html');
      e.preventDefault();
      var div = $('<div />');
      div.append(bufferText);
      div.find('*').removeAttr('style');
      setTimeout(function () {
        document.execCommand('insertHtml', false, div.html());
      }, 10);
    }
  }
}

我不知道此解决方案的浏览器兼容性,我仅在Chrome上进行过测试。但是我认为修改起来并不难。