让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在执行函数之前等待一秒钟 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

使用这种方法,我认为javascript应该在键入键的五秒钟后调用函数
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);