Javascript 自动搜索现有用户的jquery队列

Javascript 自动搜索现有用户的jquery队列,javascript,jquery,Javascript,Jquery,我希望实现一个searchbox,它可以触发ajax请求以自动获取搜索结果。不过,我只想这样做,因为用户已经“完成键入”(延迟2秒后) 我认为正确的方法是使用队列。键入新字母时清除队列,以确保settimeout可以停止,类似于动画中的stop()。但我似乎不能正确地实施它 $('.js-header-search-box').on('input propertychange paste', function() { // stop current queued se

我希望实现一个searchbox,它可以触发ajax请求以自动获取搜索结果。不过,我只想这样做,因为用户已经“完成键入”(延迟2秒后)

我认为正确的方法是使用队列。键入新字母时清除队列,以确保settimeout可以停止,类似于动画中的stop()。但我似乎不能正确地实施它

      $('.js-header-search-box').on('input propertychange paste', function() {
        // stop current queued search
        $('.js-header-search-box').dequeue();
        // search
        var q = $(this).val();
        $('.js-header-search-box').queue(function () {
            setTimeout(SearchAccounts(q), 2000);
        })
    });
.queue()
最初设计用于将fx函数用作动画和效果,而不是用于询问异步请求
.queue()
最初设计用于将fx函数用作动画和效果,而不是询问异步请求
.queue()
最初设计用于将fx函数用作动画和效果,而不是用于查询异步请求
.queue()
最初设计用于将fx函数用作动画和效果,而不是用于查询异步请求
$('.js-header-search-box').on('input propertychange paste', function (event) {
    // stop current queued search
    if (event.target.timeout)// false if undefined
        clearTimeout(event.target.timeout);

    // search
    var q = $(event.target).val();
    event.target.timeout = setTimeout(function () {
        SearchAccounts(q)
    }, 2000);
});