当前位置:  开发笔记 > 编程语言 > 正文

在两秒钟之后做一些事情

如何解决《在两秒钟之后做一些事情》经验,为你挑选了1个好方法。

我只是想实现这一目标.如果用户正在搜索关键字示例"stackoverflow",我只想在此之后发送一个ajax调用.不是每次按任何键.因此,每次按下一个键,我都可以节省很多ajax呼叫.

我试图检查,如果用户在按任意键后没有再按任何两秒,那么我发送ajax呼叫.但我不知道如何使用间隔或设置超时请帮助,希望你能理解我试图解释的内容.谢谢

这是我的小代码.

$(document).ready(function(){
    var counter = 0;
    $("#input").keyup(function(){

        var myInterval = setInterval(function () {
            ++counter;
        }, 1000);

        if(myInterval > 2)
        {
            alert('ajax call going');
            clearInterval(myInterval);
        }
        else
        {
            alert('doing nothing');
        }
    })
})

Harpreet Sin.. 7

var _changeInterval = null;

$("#input").keyup(function() {
    // wait untill user type in something
    // Don't let call setInterval - clear it, user is still typing
    clearInterval(_changeInterval)
    _changeInterval = setInterval(function() {
        // Typing finished, now you can Do whatever after 2 sec
        clearInterval(_changeInterval)
    }, 2000);

});

注意: 代码取自SO几个月前,不记得链接

编辑:

检查这个jsFiddle.检查代码中的注释并在控制台中输出以获得更好的描述



1> Harpreet Sin..:
var _changeInterval = null;

$("#input").keyup(function() {
    // wait untill user type in something
    // Don't let call setInterval - clear it, user is still typing
    clearInterval(_changeInterval)
    _changeInterval = setInterval(function() {
        // Typing finished, now you can Do whatever after 2 sec
        clearInterval(_changeInterval)
    }, 2000);

});

注意: 代码取自SO几个月前,不记得链接

编辑:

检查这个jsFiddle.检查代码中的注释并在控制台中输出以获得更好的描述

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有