//去除复制样式的方法
function textInit(e) {
e.preventDefault();//阻止默认事件
var text;
var clp = (e.originalEvent || e).clipboardData;
if (clp === undefined || clp === null) {
text = window.clipboardData.getData("text") || "";
if (text !== "") {
if (window.getSelection) {
var newNode = document.createElement("span");
newNode.innerHTML = text;
window.getSelection().getRangeAt(0).insertNode(newNode);
} else {
document.selection.createRange().pasteHTML(text);
}
}
} else {
text = clp.getData('text/plain') || "";
if (text !== "") {
document.execCommand('insertText', false, text);
}
}
}
首先 需要在可编辑div上绑定 paste 监听函数
/*去除复制过来的文字样式以及标签*/
$( document ).on( "paste", ".TextInner", function(e) {
//去除复制样式
textInit(e);
//去除复制过来的 标签
if($('.TextInner').attr('list-layout') == 'true'){ //如果可编辑div .TextInner中存在li
//找到所有的li
var $lichild = $('.TextInner').find('li');
$lichild.each(function () {
//获取li 的子元素var htmlunList = '';
var $childEles = $(this).children().not('br');
var htmlunList = '';
htmlunList += $(this)
.clone() //复制元素
.children() //获取所有子元素
.remove() //删除所有子元素
.end() //回到选择的元素
.html();//获取文本值
if($childEles>0){
$childEles.each(function(){
htmlunList +=$(this).text();
})
}
$(this).html(htmlunList);
})
}else{
var $childEles = $('.TextInner').children().not('br');
if($childEles.length>0){
var htmlunList = '';
htmlunList += $('.TextInner')
.clone() //复制元素
.children() //获取所有子元素
.remove() //删除所有子元素
.end() //回到选择的元素
.html();//获取文本值
$childEles.each(function(){
var tagname = $(this)[0].tagName;
htmlunList += $(this).text();
});
$('.TextInner').html(htmlunList);
}
}
//最后将容器高度 调整为自适应撑起的高度
$(clickTextThis).css('height',$('.TextInner').css('height'));
$('.editTextBox').css('height',$('.TextInner').css('height'));
});