使用此JSFiddle测试在Chrome / Safari中 http://jsfiddle.net/YLqqE/
如果我输入'Hi'并按Enter,则文本首先出现在红色框中,然后向上移动到蓝色框。
但是,如果我输入“嗨”,请在框外单击blur()
,然后点击文本然后按Enter键,我会获得额外的空间。
为什么会出现额外的空间?我该如何防止这种情况发生?
答案 0 :(得分:2)
这是一个简单的解决方法。在返回键的逻辑之后只需return false
,因此默认操作不会发生:
$(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,""));