第二次出版后,Jquery Keypress得到了认可

时间:2015-05-06 01:47:57

标签: javascript jquery

<form class="navbar-form navbar-right" role="search">
    <div class="form-group">
        <input id="search_text" type="search" class="form-control" placeholder="Search" size="30">
        <div class="form_control" id="search_info" style="width:283px;height:125px;top:86%;position:absolute;background-color:white; border: 1px solid #dce4ec;border-radius: 4px;display:none;"></div>
    </div>
   </form>

$("#search_text").keypress(function (){
    if($("#search_text").val().length == 0)
    {
        $("#search_info").hide();
    }
    else if($("#search_text").val().length != 0)
    {
        $("#search_info").show();
    }
});

我的问题是,使用此代码只会显示     $( “#search_info”) 在第二个按键。例如,如果我正在输入我所拥有的搜索字段   $(“#search_text”),$(“#search_info”)应该在第一次按下时显示但是没有,当我在搜索字段中有多个字符时它会显示$(“#search_info”)。

我似乎无法弄明白。

1 个答案:

答案 0 :(得分:1)

使用keyup代替keypress - 当按键触发时,尚未将值插入输入中。

$("#search_text").keyup(function (){
    if($("#search_text").val().length == 0)
    {
        $("#search_info").hide();
    }
    else if($("#search_text").val().length != 0)
    {
        $("#search_info").show();
    }
});

http://jsfiddle.net/qxh3x2s6/