输入后清除 HTML 输入并防止换行

Gui*_*age 2 html javascript jquery

我想在用户按下回车键时提交一个文本框的值,最后清除输入。我试过这个代码:

input.keydown(function(e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        $(this).val('');
        ...
    }
Run Code Online (Sandbox Code Playgroud)

输入字段的文本按预期清除,但清除后,仍会在输入中输入换行符。这意味着用户每次发送消息后都必须删除此换行符。除了像设置间隔这样的hack-ish方法之外,有没有办法防止这个换行符出现?

Geo*_*rge 5

按下回车键时只返回false:

input.keydown(function(e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        $(this).val('');
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,这意味着您的最终用户将无法实际创建新行。在这种情况下,我通常有一个布尔变量,它会在按下/释放 shift 键时发生变化。因此,如果班次下降,请不要提交,请换行。