jQuery回调叫得太早了?
这是我正在使用的代码:
function load(toLoad, area){ $(area).html(''); loadContent(); function loadContent() { $(area).load(toLoad,'',sorter()) }; function sorter() { alert('s'); $("#myTable").tablesorter({ widgets: ['zebra'] }); }; return false };
调用加载函数时,警报会在显示加载图像时显示,而不是在加载完成后显示。
这有什么问题?
我认为语法有点偏僻。
代替
function loadContent() { $(area).load(toLoad,'',sorter()) };
尝试
function loadContent() { $(area).load(toLoad,'',sorter) };
将函数定义移到load函数之外。 应该是这样的
function load(toLoad, area){ $(area).html(''); loadContent(); } function loadContent() { $(area).load(toLoad,'',sorter()) } function sorter() { alert('s'); $("#myTable").tablesorter({ widgets: ['zebra'] }); }; return false }
尝试以下(在匿名函数中的load函数中包装对sorter()的调用)
function load(toLoad, area){ $(area).html(''); loadContent(); function loadContent() { $(area).load(toLoad,'',function() {sorter()}) }; function sorter() { alert('s'); $("#myTable").tablesorter({ widgets: ['zebra'] }); }; return false };