JavaScript 将文本粘贴到带有删除格式的 contenteditable

标签 javascript jquery html

我想将文本粘贴到:

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

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

我有这段文字:

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

但它不是添加新行;

最佳答案

我找到了我需要的东西。此代码完成我需要的工作:

$(".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);
        }
    });

关于JavaScript 将文本粘贴到带有删除格式的 contenteditable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721331/

相关文章:

html - 以第二个 div 获得所需的所有空间的方式对齐两个 div

javascript - 使用 javascript 从 Bootstrap 3 自动创建输入组

javascript - 从表单发布触发 AWS Lambda

javascript - 悬停后检查新的悬停目标(Javascript/JQuery)?

jquery - 使用 jQuery 将动态函数添加到元素

jQuery : Open next DIV based on Current div element

jquery - 如何正确替换 HTML 背景图像?

javascript - 多个类的选择器

php - jscroll 结束时加载数据

css - 三个相邻的 div,两行(总共六个 div)。如果我确实漂浮,他们都会排成一排