我想通过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会解决,这可能不是图像在屏幕上显示的确切时间。 –