我想通過AJAX調用加載一些內容,並在加載內容後執行另一個操作。在我的例子中,後一個動作只是一個警告,但在我嘗試着重於輸入字段的現實世界示例中。jQuery .load()回調
$("#box").load("/favicon.png", function(response) {
alert('do after the load');
});
https://jsfiddle.net/u0cmmn5h/
正如你可以在小提琴看到,火災警報的圖標之前實際加載。內容加載後,該功能是否應該觸發?
'alerts'和類似的操作系統彈出窗口是糟糕的設計,因爲侵入和阻塞,頁面代碼執行不會繼續,除非執行特定的用戶操作。儘可能使用一些定製解決方案。所以在你的情況下,你最好使用'console.log('加載後');'爲了測試的目的。 –
您可以在[Promises](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise)或[jQuery的等效Deferred對象](https://api.jquery)中封裝函數.com/jQuery.Deferred /),因此可以使用'.then(function(){})'和其他鏈接。當JavaScript代碼解析時,Promise會解決,這可能不是圖像在屏幕上顯示的確切時間。 –