jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何在调用Live Keyup事件后延迟执行Javascript函数?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
嘿程序员,我已经删除了下面我的功能中的所有内容,只是准确定位了我需要的帮助……

调用keyup事件后,reloadContent函数将进行ajax调用以从数据库中收集新数据.

唯一的问题是,我的服务器正在超载,因为在调用函数的每个keyup之后,keyup事件没有延迟.

调用reloadContent函数之前,我需要一种方法来延迟,例如1秒.这样它就不会运行4次(当用户键入时),但是在用户键入(john)之后只运行1次,假设它们可以输入超过1个字符/秒.

$('#searchinput').live('keyup',function() {

        reloadContent(); //execute load function

});

任何建议表示赞赏

解决方法

您可以在keyup处理程序中设置超时,并使用jQuery的 data()工具将其id与元素相关联.这样,如果在延迟用完之前再次触发keyup事件,则可以清除现有超时并安排新的超时:

$("#searchinput").live("keyup",function() {
    var $this = $(this);
    var timerId = $this.data("timerId");
    if (timerId) {
        window.clearTimeout(timerId);
    }
    $this.data("timerId",window.setTimeout(reloadContent,1000));
});

大佬总结

以上是大佬教程为你收集整理的jquery – 如何在调用Live Keyup事件后延迟执行Javascript函数?全部内容,希望文章能够帮你解决jquery – 如何在调用Live Keyup事件后延迟执行Javascript函数?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。