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 回答