我在asp.net页面上定义的textarea存在问题。 textarea填充在后端,文本直接从mssql数据库中读取。
<div id="emailForm" runat="server" style="display:inline;">
<textarea name="Body" id="Body" rows="20" cols="20">
text in here
<textarea>
</div>
以下CSS应用于emailForm div:
padding: 5px;
width: 750px;
font-family: Lucida Sans, Verdana, Arial, Helvetica, sans-serif;
font-size: 0.9em;
margin: 0px 0px 10px 0px;
border: 2px solid #ccc;
和textarea本身:
height: 360px;
有些用户报告说虽然他们可以在textarea中编辑文本,但他们无法获得返回键的功能。新行无法添加?
我在网上搜索,但无法找到这种情况的一个例子。如果有人有任何我想听的好主意。感谢。
答案 0 :(得分:8)
要添加到Christoffer的答案,如果您遇到同样的问题,可以通过替换以下代码来解决它:
$(window).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
这一个:
$(window).keydown(function(event){
if((event.which== 13) && ($(event.target)[0]!=$("textarea")[0])) {
event.preventDefault();
return false;
}
});
这将允许textarea进入(新行),仍然阻止其余的回车键。
答案 1 :(得分:6)
有同样的问题,但发现是因为我在表单上有一个.preventDefault() - 最初阻止输入提交表单。
this.$el.keypress(function(e){
if(e.which === 13){
e.preventDefault();
}
}
13是输入
的按键代码答案 2 :(得分:3)
我之前从未听说过这样的事情,但我的猜测是与display:inline;
当元素包含像textarea这样的东西时,它应该无效。
我建议将其更改为display:inline-block;
。 可能足以解决它。但无论哪种方式,它肯定是你正在做的正确的显示类型。
答案 3 :(得分:3)
在我的情况下,问题是由于使用了White-Space:正常。当我删除它时,问题就消失了。
答案 4 :(得分:2)
除了textarea的结束标记外,您的代码是正确的:
</textarea>