使Enter键不创建换行符

时间:2015-06-27 04:25:53

标签: javascript jquery

我有一个 textarea 字段,它的数据将通过按输入密钥使用java脚本和ajax提交,问题是当用户按下时输入密钥首先它将创建一个新行,然后 textarea 将被提交,我不希望它创建一个新行。

请帮忙!

2 个答案:

答案 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>