我试图低估如何做下一件事
$("#id").keyup2sec(...);
我有一个函数,当有keyup时发送Json,问题是它很重要发送5个Json for legnth of 5。 是三种方式,该功能将等待2~秒,所以只有当人finshed打字和2秒通过它将发送
答案 0 :(得分:1)
您需要的是每次用户在给定时间范围内按键时清除的超时,通常称为限制事件。
通常2秒比平时多,但如果这是你想要的。
$("#id").on('keyup', function() {
clearTimeout( $(this).data('keytimer') );
$(this).data('keytimer', setTimeout(function() {
$.ajax(...);
},2000));
});
当用户点击一个键时,前一个超时被清除,因此ajax调用永远不会发生,而是将一个新的ajax调用排队,该调用将在两秒内发生,除非用户再次点击一个键等。