2

非常に単純な問題で立ち往生していますが、解決策がわかりません.私の質問は、Enterキーを押したときにカーソルがテキストエリアの新しい行にジャンプするのを止める方法です. Enterキーをクリックすると、テキストエリア内のカーソルで何も起こりません。

私は長い間それをグーグルで検索してきましたが、stackoverlfow に関するいくつかの提案も得ましたが、私の問題は解決しませんでした。

私のコードは次のとおりです。

$(function(){

$('#test').keyup(function(e){
        if(e.keyCode==13){
            e.preventDefault();
        }       
    });
 }) 

test はテキストエリアの ID です。誰か助けてください。大変ありがたく存じます。

4

2 に答える 2

3

私はお勧めします:

$('#test').keydown(function(e){
    return e.which !== 13;
});

JS フィドルのデモ

keydown(の代わりに)を使用する理由はkeyup、文字が の値に追加される前にイベントをキャプチャしtextarea、基本的にkeyup「遅すぎる」ことをキャプチャするためです。

return e.which !== 13基本的にfalse、ボタンが押された場合は戻ります。enterそれ以外の場合は、キー値を入力できます (戻りtrueます)。

于 2013-09-21T19:07:01.587 に答える