keypress、keyupなどについてはたくさんの例があります。.. jQueryで。これらの例は、テキストフィールドに入力することについてです。ユーザーがテキストフィールドにメッセージや何かを入力すると、ユーザーが入力しているようなメッセージを表示できますが、ユーザーが入力しなかった場合の状況に関するメッセージを表示することはできません。以下はその例です。 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");
});
});
回答:
回答№1は1遅延を使うことをお勧めします。
$("#target").keypress(function() {
$("#other").html("User is typing");
$("#other").delay(1000).queue(function(n) {
$(this).html("User is not typing");
n();
});
});