【发布时间】:2011-05-01 14:38:22
【问题描述】:
我不知道为什么,但是如果你有一个启用了 contenteditable 的元素,当你第一次输入一个空格时,它会在元素中附加一个<br> 标签。如果元素默认有空格(<p contenteditable="true">this is a test</p>),那会很好,但只要用户点击空格键(甚至复制+粘贴空格字符),Firefox 就会添加一个<br _moz_dirty="" /> <p>.
有人知道原因或简单的解决方法吗?这是我第一次玩 contenteditable,所以这对我来说很多都是新的。目前,我只是在使用$('br').remove(),这似乎有效,但如果有人知道,我希望得到解释和适当的方法来防止它。
【问题讨论】:
-
这仍然可以重现吗?我在FF中从来没有遇到过这样的bug
-
我遇到了同样的问题,jsbin.com/xarirotali/edit?html,css,output 在“一些文本”的末尾按两个空格并检查 FF 中的 p 元素,它会添加一个
。 -
解决此问题的一种方法是使用 CSS 隐藏 contenteditables 中的中断:
p[contenteditable="true"] br {display:none;}但是这也会阻止回车移动到新行。 -
@jla 解决了我的问题,谢谢。
标签: javascript jquery contenteditable