首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery按键后获取输入值

jQuery按键后获取输入值
EN

Stack Overflow用户
提问于 2012-01-10 05:15:03
回答 8查看 291.4K关注 0票数 138

我有以下功能:

$(document).ready(function() {
    $("#dSuggest").keypress(function() {
        var dInput = $('input:text[name=dSuggest]').val();
        console.log(dInput);
        $(".dDimension:contains('" + dInput + "')").css("display","block");
    });
});

由于某些原因,对于第一次按键,我在控制台日志中得到一个空字符串。

EN

回答 8

Stack Overflow用户

发布于 2013-10-16 21:45:37

意识到这是一个相当古老的帖子,我将不管怎样提供一个答案,因为我正在努力解决同样的问题。

您应该改用"input"事件,并使用.on方法进行注册。这是快速的-没有keyup的延迟,并解决了您所描述的缺少最新按键的问题。

$('#dSuggest').on("input", function() {
    var dInput = this.value;
    console.log(dInput);
    $(".dDimension:contains('" + dInput + "')").css("display","block");
});

Demo here

票数 208
EN

Stack Overflow用户

发布于 2013-08-04 08:15:37

您必须中断执行线程以允许输入更新。

  $(document).ready(function(event) {
       $("#dSuggest").keypress(function() {
           //Interrupt the execution thread to allow input to update
               setTimeout(function() {
                   var dInput = $('input:text[name=dSuggest]').val();
                   console.log(dInput);
                   $(".dDimension:contains('" + dInput + "')").css("display","block");
               }, 0);
       });
  });
票数 5
EN

Stack Overflow用户

发布于 2016-12-27 21:35:33

我正在寻找一个ES6示例(这样它就可以通过我的linter),所以对于其他正在寻找相同示例的人来说:

$('#dSuggest').keyup((e) => {
    console.log(e.currentTarget.value);
});

我也会使用keyup,因为你会得到填充的当前值。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8795283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档