0

ページに多くの入力があり、Enter キーを押すまで 1 つだけを表示したい。Enter キーを押すと、現在の入力が消え、非表示の入力が表示されます。

<input type="text" value="Name" />
<input type="text" value="Password" />

そして、ここにjQueryコードがあります:

$('input').each(function(){

    $(this).fadeIn();

        $(this).on('keyup', function(e) {
            if (e.which == 13) 
                return true;
            else return false;

        });
    $(this).fadeOut();
});

このスクリプトを作成しましたが、機能しません。両方の入力が同時に表示され、その後消えます。

望ましい結果を得るには、何を変更すればよいですか?

4

1 に答える 1

0

http://jsfiddle.net/z7ZNL/1/

<input type="text" value="Name" />
<input type="text" value="Password" style="display: none;" />

$('input').on('keyup', function(e) {
  if (e.which == 13) 
    $('input').not(this).fadeIn();
    $(this).fadeOut();
});

これは、2 つの入力を処理するのに十分なコードです。あなたの説明は「多く」に言及しています。そのためには、すべての要素を循環するために、ある種のカウンターまたは場所マーカーが必要です。

ポップヌードルに賛成です。これは奇妙な動作です。注意して使用してください。

于 2013-02-19T23:34:04.377 に答える