Javascript 使用jquery进行搜索
我用js搜索我的网站 他们的代码可能看起来像: 有一个表单,当keyup事件发生时,它将向一个文件发送post,并将该文件中的数据检索到div的html中 但这会让你自己陷入困境。我发现“a”的例子大约有3000个结果。例如,花一秒钟发送邮件。所以我现在按“c”键将帖子发送到的文件是“ac”,有100个这样的结果需要0.3秒。 例如,当我按字母“a”到“c”0.2秒时,它应该在0.5秒时显示结果“ac”。然后0.5秒后,它是“a”的结果将“ac”改为“a” 那个么你们现在怎么办?当你们按下“c”键时,它停止发送带有“a”值的帖子,而发送带有“ac”值的帖子Javascript 使用jquery进行搜索,javascript,jquery,Javascript,Jquery,我用js搜索我的网站 他们的代码可能看起来像: 有一个表单,当keyup事件发生时,它将向一个文件发送post,并将该文件中的数据检索到div的html中 但这会让你自己陷入困境。我发现“a”的例子大约有3000个结果。例如,花一秒钟发送邮件。所以我现在按“c”键将帖子发送到的文件是“ac”,有100个这样的结果需要0.3秒。 例如,当我按字母“a”到“c”0.2秒时,它应该在0.5秒时显示结果“ac”。然后0.5秒后,它是“a”的结果将“ac”改为“a” 那个么你们现在怎么办?当你们按下“c”
还有剧本:
<script>
$('#searchbox').keyup(function() {
search();
});
function search() {
var keyword = $('#searchbox').val();
if (keyword != "") {
$('#result').html(loadingText);
$('#result').css('display', 'block');
$.post('/search/',{"keyword":keyword}, function(data){
if (data != "")
{
$('#result').html(data);
}
else
{
$('#result').html('');
$('#result').css('display', 'none');
}
});
}
else {
$('#result').html('');
$('#result').css('display', 'none');
}
}
</script>
$(“#搜索框”).keyup(函数(){
搜索();
});
函数搜索(){
var关键字=$(“#搜索框”).val();
如果(关键字!=“”){
$('#result').html(loadingText);
$('#result').css('display','block');
$.post('/search/',{“关键字”:关键字},函数(数据){
如果(数据!=“”)
{
$('#result').html(数据);
}
其他的
{
$('#result').html('');
$('#result').css('display','none');
}
});
}
否则{
$('#result').html('');
$('#result').css('display','none');
}
}
您可以尝试
var timer = null;
$("#text_box").keyup(function() {
if(timer) {
clearTimeout(timer);
}
timer = setTimeout(search, 1000);
});
我以前问过一个类似的问题。在发布问题之前,请始终在stackoverflow中进行搜索。tks。我尝试设置超时并获得最佳结果。但是没有这个功能。这很难
// use to delay the callback execution
// so your search will be executed only you stop typing after 0.5(500 ms for example) second
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout(timer);
timer = setTimeout(function() {
callback();
}, ms);
}
}());
$('#searchbox').keyup(delay(search, 500));
var timer = null;
$("#text_box").keyup(function() {
if(timer) {
clearTimeout(timer);
}
timer = setTimeout(search, 1000);
});