考慮下面的代碼:jQuery的執行順序
function searchText() {
if($('#searchtext').val() == null || $('#searchtext').val().trim() == '') {
alert('must provide a text to search for');
return false;
}
urllink='http://search.twitter.com/search.json?q=' + escape($('#searchtext').val().trim()) + '&callback=?';
$('#results').html(urllink);
$.getJSON(urllink,function(data) {
var resultT = {};
$('#results').html(data.results[0].profile_image_url);
return data.results;
});
}
$('#gosearch').click(function() {
var data = searchText();
if(data == null)
alert('null');
return false;
});
我有螢火斷點在searchText()
return data.results
。但似乎searchText
被執行,但我不停止在我的突破點。它寧可檢查數據,它是null
,並執行alert('null')
。那麼它會在searchText
的折扣點停止。
這是怎麼發生的?我不能在事件中執行函數並等待它們完成,然後再移動到代碼中的下一行?
感謝
附加了哪個調試器? – 2011-03-14 12:35:12
請使用預覽窗格,並在將來正確設置您的文章的格式。另外,我建議你用'if'語句爲便攜性使用大括號('if(data == null){alert('null');}')。 – 2011-03-14 12:49:09