2

ユーザーがEnterキーを押したときにテキストボックスの値を送信し、最後に入力をクリアしたい。私はこのコードを試しました:

input.keydown(function(e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        $(this).val('');
        ...
    }

入力フィールドのテキストは想定どおりにクリアされますが、クリア後も入力に改行が入力されたままです。これは、毎回メッセージを送信した後、ユーザーがこの改行を削除する必要があることを意味します。間隔を設定するなどのハックっぽい方法以外に、この改行が表示されないようにする方法はありますか?

4

3 に答える 3

5

Enter キーが押されたときに false を返すだけです。

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

もちろん、これはエンドユーザーが実際に新しい行を作成できないことを意味します。この場合、通常、シフトキーが押された/離されたときに変化するブール変数があります。したがって、シフトがダウンしている場合は、送信しないで、新しい行を作成してください。

于 2013-04-23T10:21:46.423 に答える