让javascript在执行函数之前等待一秒钟 var超时; 函数doAjaxFunc(){ 警报(“被呼叫”); $.ajax({ 类型:“POST”, url:“searchSuggest.php”, 数据:dataString, cache:false, 成功:函数(data){$(“#display”).html(data.show();}); } $(文档).ready(函数(){ $(“.search”).keyup(函数() { var searchbox=$(this.val(); var dataString='searchword='+searchbox; 如果(搜索框=“”) { $(“#显示”).hide(); } 其他的 { 如果(超时){ clearTimeout(超时); 超时=空; } timeout=setTimeout(doAjaxFunc(),5000); } 返回false; }); });
使用这种方法,我认为javascript应该在键入键的五秒钟后调用函数让javascript在执行函数之前等待一秒钟 var超时; 函数doAjaxFunc(){ 警报(“被呼叫”); $.ajax({ 类型:“POST”, url:“searchSuggest.php”, 数据:dataString, cache:false, 成功:函数(data){$(“#display”).html(data.show();}); } $(文档).ready(函数(){ $(“.search”).keyup(函数() { var searchbox=$(this.val(); var dataString='searchword='+searchbox; 如果(搜索框=“”) { $(“#显示”).hide(); } 其他的 { 如果(超时){ clearTimeout(超时); 超时=空; } timeout=setTimeout(doAjaxFunc(),5000); } 返回false; }); });,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,使用这种方法,我认为javascript应该在键入键的五秒钟后调用函数doAjaxFunc()。但它不是在等待那一段时间。在执行doAjaxFunc()之前,我应该如何让它等待5秒。您正在调用doAjaxFunc,并将其返回值设置为5秒后要调用的函数 删除():timeout=setTimeout(doAjaxFunc,5000),它将神奇地工作。您正在调用doAjaxFunc,并将其返回值设置为五秒钟后要调用的函数 删除():timeout=setTimeout(doAjaxFunc,5000
doAjaxFunc()
。但它不是在等待那一段时间。在执行doAjaxFunc()之前,我应该如何让它等待5秒。您正在调用doAjaxFunc
,并将其返回值设置为5秒后要调用的函数
删除
()
:timeout=setTimeout(doAjaxFunc,5000)
,它将神奇地工作。您正在调用doAjaxFunc
,并将其返回值设置为五秒钟后要调用的函数
删除()
:timeout=setTimeout(doAjaxFunc,5000)
,它会神奇地工作。试试这个:
<script type="text/javascript">
var timeout;
function doAjaxFunc(){
alert("called");
$.ajax({
type: "POST",
url: "searchSuggest.php",
data: dataString,
cache: false,
success: function(data){$("#display").html(data).show();}});
}
$(document).ready(function(){
$(".search").keyup(function()
{
var searchbox = $(this).val();
var dataString = 'searchword='+ searchbox;
if(searchbox=='')
{
$("#display").hide();
}
else
{
if(timeout) {
clearTimeout(timeout);
timeout = null;
}
timeout= setTimeout(doAjaxFunc(), 5000);
}
return false;
});
});
</script>
或者这个:
timeout = setTimeout(function() {
doAjaxFunc();
}, 5000);
试试这个:
<script type="text/javascript">
var timeout;
function doAjaxFunc(){
alert("called");
$.ajax({
type: "POST",
url: "searchSuggest.php",
data: dataString,
cache: false,
success: function(data){$("#display").html(data).show();}});
}
$(document).ready(function(){
$(".search").keyup(function()
{
var searchbox = $(this).val();
var dataString = 'searchword='+ searchbox;
if(searchbox=='')
{
$("#display").hide();
}
else
{
if(timeout) {
clearTimeout(timeout);
timeout = null;
}
timeout= setTimeout(doAjaxFunc(), 5000);
}
return false;
});
});
</script>
或者这个:
timeout = setTimeout(function() {
doAjaxFunc();
}, 5000);