javascript - 几毫秒后使用 jQuery 获取输入值

标签 javascript jquery ajax

我想获取输入字段的值并发送 ajax 请求。如果我使用 keyup 或 keypress 或 change,该值立即可用并发送请求。我想等待用户,例如1 或 2 秒,以便他键入整个单词,然后发送一个 ajax 请求。 我的代码是这样获取值的。谢谢。

    var timeout = window.setTimeout(function() {
        $('input#search').keyup(function() {
            var key = $("#search").val();
            console.log(key);
        });

    }, 1000);
    clearTimeout(timeout);

最佳答案

您需要使用计时器,然后在用户输入时使用 clearTimeout 重置它。这段代码会做你想做的,这里是一个 jsFiddle .

var Timer;

function Start() {

    $('#TheInput').keyup(function () {

        clearTimeout(Timer);
        Timer = setTimeout(SendRequest, 1000);
    });
}


function SendRequest() {

    var key = $("#TheInput").val();    
    alert(key);
}

$(Start);

关于javascript - 几毫秒后使用 jQuery 获取输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30418971/

相关文章:

javascript - 如果特定的 HTML 标签之间包含特定字符串,则使用正则表达式

javascript - Inkscape 突出显示 svg 的不同部分并在 html 中操作 svg map

javascript - Mixitup 过滤器消失并添加 "fail"类

php - 如果第一个参数(数组)有 20-25 个键,函数将停止

javascript - 在 .ts 文件中创建全局变量

javascript - 从 .json URL 获取数据并使用 Javascript/JQuery 将其显示在 HTML 中

javascript - 按类名删除元素

javascript - 显示类似标签的内容

javascript - jQuery ajaxStart 仅适用于第一个请求

JavaScript - AJAX 数据请求如何出现在 url 中?