JavaScript使用删除格式将文本粘贴到contenteditable

时间:2017-01-18 13:56:04

标签: javascript jquery html

我想粘贴文字:

<div class="text" contenteditable="true"></div>

然后在粘贴后我需要删除文本格式的文本,但保留新行。

我有这样的文字:

$(".text").bind({
    paste: function () {
        setTimeout(function () {
            var text = $(".text").text();
            $('.text').text(text);
        }, 100);
    }
});

但它没有添加新行;

1 个答案:

答案 0 :(得分:3)

我发现了我需要的东西。这段代码完成了我所需要的工作:

$(".text").bind({
        paste: function () {
            setTimeout(function () {
                var text = $(".text").html();

                text = text.replace(/<p[^>]*>/g, '').replace(/<\/p>/g, '<br><br>');
                text = text.replace(/<div[^>]*>/g, '').replace(/<\/p>/g, '<br><br>');

                $('.text').html(text);

                $(".text *").not("br").each(function() {
                    var content = $(this).contents();
                    $(this).replaceWith(content);
                });

            }, 1);
        }
    });