我尝试使用AJAX调用加载某些内容,并在加载内容后执行其他操作。在我的例子中,后一个动作只是一个警报,但在我的现实世界的例子中,我试图专注于输入字段。
$("#box").load("/favicon.png", function(response) {
alert('do after the load');
});
https://jsfiddle.net/u0cmmn5h/
正如您在小提琴中看到的那样,警报会在实际加载图标之前触发。在内容加载后,该功能是否应该启动?
答案 0 :(得分:2)
.load()
上的回调在http响应时执行,而不是在客户端呈现图像时。
答案 1 :(得分:0)
以下是在图片上使用load
的示例。不确定你在div上有load
。
当图像load
属性发生变化并且图像成功加载时,将触发src
方法(请注意,如果失败则不会执行)。
当加载事件和所有子元素已完全加载时,会将事件发送到元素。此事件可以发送到与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象。
$(function() {
$('img').load(function() {
alert('done after load');
}).attr('src', '/favicon.ico');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="box">
<img />
</div>