比在div中使用append更好的方法contenteditable

时间:2015-02-12 02:49:41

标签: javascript jquery html dom jquery-plugins

我有一个contenteditable div,如果用户在某些内容后按Enter键,则会创建两个break标记。

line 1
</br>
</br>

如果用户手动开始输入,则变为

line 1
</br>
line 2
</br>

但是我使用jQuery append函数来放置一些html内容

jQuery('.editor').append(e.target.innerHTML);

但它变成了

line 1
</br>
</br>
html content

有没有办法在内容之间没有两行间隔?

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的问题,并且有时还添加'&amp; lt','$ gt'等。我使用下面的正则表达式删除所有的html标签。当您调用onblur事件时,在函数内部使用以下代码来删除标记。即使您将内容复制并粘贴到可编辑的div中,它也可以工作。

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

希望这就是你要找的东西。