jquery队列自动搜索现有用户

jquery queue to automatically search for existing users

本文关键字:用户 搜索 队列 jquery      更新时间:2023-09-26

我希望实现一个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);
        })
    });
$('.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);
});