焦点后的额外换行符()

时间:2013-07-31 22:14:50

标签: jquery css

使用此JSFiddle测试在Chrome / Safari中 http://jsfiddle.net/YLqqE/

如果我输入'Hi'并按Enter,则文本首先出现在红色框中,然后向上移动到蓝色框。

但是,如果我输入“嗨”,请在框外单击blur(),然后点击文本然后按Enter键,我会获得额外的空间。

为什么会出现额外的空间?我该如何防止这种情况发生?

2 个答案:

答案 0 :(得分:2)

这是一个简单的解决方法。在返回键的逻辑之后只需return false,因此默认操作不会发生:

http://jsfiddle.net/YLqqE/2/

$(document).keydown(function(e){
    switch(e.keyCode) {
      case 13:
        $('#msg').append(newEl.html());
        newEl.html('')
        return false;
    }
});

答案 1 :(得分:0)

按Enter键时,会在该div的html中添加换行符。要从div中删除换行符,请使用正则表达式将其删除:
$('#msg').append(newEl.html().replace(/(\r\n|\n|\r)/gm,""));

Fiddle