我有一个 textarea 字段,它的数据将通过按输入密钥使用java脚本和ajax提交,问题是当用户按下时输入密钥首先它将创建一个新行,然后 textarea 将被提交,我不希望它创建一个新行。
请帮忙!
答案 0 :(得分:7)
只需听取keydown
事件并阻止默认操作(即换行符)
$("textarea").on("keydown", function(e) {
if(e.which === 13) { // enter key
e.preventDefault(); // prevents linebreak
// here you could add your submit call
return false;
}
});
答案 1 :(得分:1)
您可以使用jQuery来确定textarea是否处于活动状态:
$("#foo").is(":focus") // expression is true only when it is active
所以你的代码应该是这样的:
if (<enter key pressed> and !($("#foo").is(":focus")))
<submit with JavaScript and Ajax>