调用jQuery回调太早?

调用jQuery回调太早?,jquery,jquery-callback,Jquery,Jquery Callback,以下是我使用的代码: function load(toLoad, area){ $(area).html('<img src="images/ajax-loader.gif" alt="Loading" class="center" />'); loadContent(); function loadContent() { $(area).load(toLoad,'',sorter()) }; function sorter()

以下是我使用的代码:

function load(toLoad, area){
    $(area).html('<img src="images/ajax-loader.gif" alt="Loading" class="center" />');
    loadContent();
    function loadContent() {
        $(area).load(toLoad,'',sorter())
    };
    function sorter() {
        alert('s');
        $("#myTable").tablesorter({
            widgets: ['zebra']
        });
    };
    return false
};
功能加载(toLoad,区域){
$(area.html(“”);
loadContent();
函数loadContent(){
$(区域).load(toLoad,,,sorter())
};
功能分类程序(){
警报;
$(“#myTable”).tablesorter({
小部件:[“斑马”]
});
};
返回错误
};
调用load函数时,警报将在加载图像显示时显示,而不是在加载完成后显示


这有什么问题吗?

我觉得语法有点不合适

而不是

function loadContent() {
    $(area).load(toLoad,'',sorter())
};
试一试


我觉得这个语法有点不合适

而不是

function loadContent() {
    $(area).load(toLoad,'',sorter())
};
试一试


将函数定义移到加载函数之外。应该是这样的

function load(toLoad, area){
    $(area).html('<img src="images/ajax-loader.gif" alt="Loading" class="center" />');
    loadContent();
}

function loadContent() {
        $(area).load(toLoad,'',sorter())
}

function sorter() {
        alert('s');
        $("#myTable").tablesorter({
                widgets: ['zebra']
        });
    };
    return false
}
功能加载(toLoad,区域){
$(area.html(“”);
loadContent();
}
函数loadContent(){
$(区域).load(toLoad,,,sorter())
}
功能分类程序(){
警报;
$(“#myTable”).tablesorter({
小部件:[“斑马”]
});
};
返回错误
}

将函数定义移到加载函数之外。应该是这样的

function load(toLoad, area){
    $(area).html('<img src="images/ajax-loader.gif" alt="Loading" class="center" />');
    loadContent();
}

function loadContent() {
        $(area).load(toLoad,'',sorter())
}

function sorter() {
        alert('s');
        $("#myTable").tablesorter({
                widgets: ['zebra']
        });
    };
    return false
}
功能加载(toLoad,区域){
$(area.html(“”);
loadContent();
}
函数loadContent(){
$(区域).load(toLoad,,,sorter())
}
功能分类程序(){
警报;
$(“#myTable”).tablesorter({
小部件:[“斑马”]
});
};
返回错误
}
尝试以下操作(将对sorter()的调用封装在匿名函数的load函数中)

功能加载(toLoad,区域){
$(area.html(“”);
loadContent();
函数loadContent(){
$(area).load(toLoad,,,function(){sorter()})
};
功能分类程序(){
警报;
$(“#myTable”).tablesorter({
小部件:[“斑马”]
});
};
返回错误
};
尝试以下操作(将对sorter()的调用封装在匿名函数的load函数中)

功能加载(toLoad,区域){
$(area.html(“”);
loadContent();
函数loadContent(){
$(area).load(toLoad,,,function(){sorter()})
};
功能分类程序(){
警报;
$(“#myTable”).tablesorter({
小部件:[“斑马”]
});
};
返回错误
};

你的负载(toload,area)呼叫在哪里?你可能也对这里的答案感兴趣@Soufiane Hassou,它在代码中的其他地方。我看不出包含它的原因。你的负载(toload,area)呼叫在哪里?你可能也对这里的答案感兴趣@Soufiane Hassou,它在代码中的其他地方。我看不出有什么理由把它包括在内。哈!我知道这看起来是错误的,我实际上从其他地方得到了代码,但我不明白他们为什么会有这样的代码。哈!我知道这看起来是错误的,我实际上从其他地方得到了代码,但我不明白为什么他们会有这样的代码。太好了。我不知道为什么其他地方的括号会起作用。。。也许我只是没注意到,太好了。我不知道为什么其他地方的括号会起作用。。。也许我只是没注意到。