jQuery技术:键入输入时防止发布

我有一个输入字段作为filter。 在每个keyup中,他调用一个函数来发布input.val()以在表中显示结果,这很好。 但如果我输入一个名称“stackoverflow”,他将发布13次。 我希望如果他在3秒内没有输入他发布的内容。

我认为有一个函数(不是默认函数)。 而且我不想自动完成。

HTML:

 

JavaScript的:

 $(document).ready(function(){ $("#filter").keyup(function(){ console.log('POST'); }); }); 

的jsfiddle

我不想延迟,因为这只会“延迟”它。

    查看jQuery throttle / debounce插件

    它完全符合你的要求

     $('input').keyup($.debounce(3000, function() { /* Post comes here */ })); 

    您可以使用本机Javascript函数clearTimeout和setTimeout来完成此任务。

     $(document).ready(function(){ var filterTimeout = null; $("#filter").keyup(function(){ if (filterTimeout != null) window.clearTimeout(filterTimeout); filterTimeout = window.setTimeout(function() { console.log('POST'); }, 3000); }); }); 

      以上就是jQuery教程分享键入输入时防止发布相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/548235.html

      (0)
      上一篇 2021年1月13日
      下一篇 2021年1月13日

      精彩推荐