<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”)。
我似乎无法弄清楚。
最佳答案
使用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/
关于javascript - 第二次按下后识别Jquery Keypress,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30066104/