当我击中太空时,Contenteditable会增加一个<br>

Jor*_*dan 12 javascript jquery contenteditable

我不确定为什么,但是如果你有一个启用了contenteditable的元素,那么当你第一次输入空格时,它会<br>在元素中附加一个标记.如果元素在默认情况下(有空格<p contenteditable="true">this is a test</p>),这将是罚款,但只要用户点击该空格键(或者甚至复制粘贴+空格字符),火狐增加了<br _moz_dirty="" /><p>.

有没有人知道为什么或简单的修复?这是我第一次玩满足感,所以很多这对我来说都是新的.目前,我只是使用$('br').remove()它似乎工作,但我喜欢一个解释和一个适当的方法来防止它,如果有人知道.

小智 0

preventDefault在用户进行回车时使用。也许您可以修改它以在用户使用空格键时返回正常的空格。

if(e.keyCode==13 && e.shiftKey){ //enter && shift
    e.preventDefault(); //Prevent default browser behavior
    //this.html(this.html+"<br>");
}
if(e.keyCode==13){ //enter
    e.preventDefault(); //Prevent default browser behavior
}
Run Code Online (Sandbox Code Playgroud)

  • 投了反对票,因为这没有回答问题。这个问题是特定于 Firefox 在按 **space** 而不是 Enter/Return 时添加 `&lt;br _moz_dirty="" /&gt;` 的。 (2认同)