【问题标题】:Removing some tags with jquery in contenteditable div在 contenteditable div 中使用 jquery 删除一些标签
【发布时间】:2017-06-01 17:57:25
【问题描述】:
我有一个内容可编辑的 div。当用户在其中粘贴文本时。它带有 html 标签,我想删除除 b、i、u、blockquote、h3 标签之外的所有标签。
我怎样才能做到这一点?
感谢您的帮助。
【问题讨论】:
标签:
jquery
tags
contenteditable
【解决方案1】:
var ignoreTags = "b, i, u, blockquote, h3";
$("[contenteditable]").on({
paste : function() {
setTimeout(function(){
$(this).find("*").not(ignoreTags).contents().unwrap();
}.bind(this), 0);
}
});
p{color: blue;}
[contenteditable]{background:#eee;padding:16px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>H2. Unwrap me.</h2>
<h3>H3. Keep me.</h3>
<blockquote>blockquote</blockquote>
<p>Unwrap Paragraph but keep <b>bold</b> and <i>italic</i></p>
<div contenteditable>pasteHere</div>