我在搜索栏输入文本框中放置了以下jQuery代码:
$(document).ready(function(){
$("#q").keyup(function(event){
event.preventDefault();
$.post("newsearch.php",{q:$("#q").val()}, function(data){
$("#inboxHolder").html(data);
});
});
});
它有点粗俗。结果正确填充,但是例如在某些情况下,我必须在输入要填充的结果的查询后执行空格。
非常感谢任何反馈。
答案 0 :(得分:0)
我认为您提出的问题是jQuery - keydown / keypress /keyup ENTERKEY detection
尝试同时使用keyup
,keydown
和enter
。
$(document).ready(function(){
get_key_press();
});
function get_key_press()
{
$("#q").keyup(function(e){
handle_key_press(e);
});
$("#q").keydown(function(e){
handle_key_press(e);
});
}
function do_search(search_string)
{
$.post("newsearch.php",{q:search_string}, function(data){
$("#inboxHolder").html(data);
can_search = true;
});
}
//simple concurrency flag
var can_search = true;
function handle_key_press(e)
{
if(can_search)
{
var code = e.which; // recommended to use e.which, it's normalized across browsers
if(code==13)e.preventDefault();
if(code==32||code==13||code==188||code==186)
{
can_search = false;
do_search($("#q").val());
}
}
}
如果您关注keycodes
的{{1}}列表,可以参考此resource。