0

jQueryにはkeypress、keyup、...に関する例がたくさんあります。これらの例は、テキストフィールドへの入力に関するものです。ユーザーがテキストフィールドにメッセージなどを入力すると、ユーザーが入力しているようなメッセージを表示できますが、ユーザーが入力していない場合の状況に関するメッセージを表示することはできません。これがhttp://api.jquery.com/keypress/からの例です:

$("#target").keypress(function() {
  $("#other).html("User is typing");
});  

<form>
  <fieldset>
    <input id="target" type="text" value="" />
  </fieldset>
</form>
<div id="other">
  Trigger the handler
</div>

このコードを変更して、入力していないときにメッセージを表示するにはどうすればよいですか(ユーザーは入力していません)。他のオプションのようなもの...

編集:これが私の考えです。それはあなたの考え(コード)と似ています。助けてくれてありがとう。

$(document).ready(function(){
  $("#target").keyup(function(){
      setTimeout(function(){
          $("#other").html("User is not typing");
      }, 2000);   
  });
  $("#target").keydown(function(){
    $("#other").html("User is typing");
  });
});
4

1 に答える 1

1

遅延を使用することをお勧めします:

$("#target").keypress(function() {
      $("#other").html("User is typing");
      $("#other").delay(1000).queue(function(n) {
        $(this).html("User is not typing");
        n();
    });  
    });

http://jsfiddle.net/CbGL9/9/

于 2012-10-10T17:52:14.480 に答える