核心提示://去除复制样式的方法function textInit(e) {e.preventDefault();//阻止默认事件var text;var clp = (e.originalEvent || e...
//去除复制样式的方法 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); } } }
首先 需要在可编辑p上绑定 paste 监听函数
/去除复制过来的文字样式以及标签/
$( document ).on( "paste", ".TextInner", function(e) { //去除复制样式 textInit(e); //去除复制过来的 标签 if($('.TextInner').attr('list-layout') == 'true'){ //如果可编辑p .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(); /*if(tagname == 'SPAN'){ htmlunList += $(this).text(); } if(tagname == 'DIV'){ htmlunList +='<br>'+ $(this).text(); }*/ }); $('.TextInner').html(htmlunList); } } //最后将容器高度 调整为自适应撑起的高度 $(clickTextThis).css('height',$('.TextInner').css('height')); $('.editTextBox').css('height',$('.TextInner').css('height')); });