2015-02-11 2 views
0

У меня есть контент для контента. Я хочу только сырой текст вместо HTML-содержимого, а скопируйте его с любого веб-сайта. Я получил какое-то решение и опробованы следующиеДополнительный div, добавленный в chrome, при копировании в contenteditable div

$('[contenteditable]').on('paste',function(e) { 
    e.preventDefault(); 
    var text = (e.originalEvent || e).clipboardData.getData('text/plain') || prompt('Paste something..'); 
    window.document.execCommand('insertText', false, text); 
}); 

он работает нормально, но проблема в том, что добавляет дополнительный DIV в браузере Chrome.

Любая идея или лучшее решение? Благодаря!

ответ

0

Я тоже сталкивался с такой же проблемой, а также иногда добавляет & и т. Д. Я использовал следующее регулярное выражение, чтобы удалить все теги html. Когда вы вызываете событие размытия, внутри функции используйте приведенный ниже код для удаления тегов. Он также работает, даже если вы копируете и вставляете содержимое в редактируемый div.

x = x.replace(/(<[^\\>]*>|<br\/>|&amp;|amp;|&lt|&gt;)/g, ''); 
x = x.trim(); 

Надежда это ıA то, что вы ищете

0

Мы можем использовать .text() функцию JQuery, чтобы удалить все HTML-теги.

$('[contenteditable]').on('paste',function(e) { 
    e.preventDefault(); 
    var text = $(this).text(); 

    $(this).text(text); 
}); 
Смежные вопросы