首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jquery回调后执行代码

在jquery回调后执行代码
EN

Stack Overflow用户
提问于 2013-08-27 14:56:26
回答 6查看 1K关注 0票数 0

假设我有以下的js代码

代码语言:javascript
运行
复制
$(function() {
   $('#some_id').load('myfile.html', function() {
      alert('Call back called');
   });

  alert('You should alert second');
  // more javascript code .........

});

出于某种原因,alert('Call back called');是我最不需要注意的东西。我认为js代码按照文件的顺序执行。是否有办法使alert('Call back called');在我的所有其他函数之前先行完成?

看看我的简单代码片段,就会发现为什么不将alert('You should alert second');放在函数回调中,不幸的是,我正在继承一个非常大的代码库,并且干扰回调中的所有函数调用都是不可行的。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-08-27 14:58:37

.load()是一个异步方法,您作为参数传递给它的匿名函数只有在异步方法完成执行时才会执行。

票数 2
EN

Stack Overflow用户

发布于 2013-08-27 15:04:01

“我认为js代码按照文件的顺序执行。”是的,这就是这里发生的事。但是,因为.load()回调函数是,嗯,回调(即只有在异步操作完成后才触发) alert('Call back called');只在将来某个时候调用时才会触发。

票数 1
EN

Stack Overflow用户

发布于 2013-08-27 15:07:35

正如其他人所指出的,load是一个异步方法,因此您需要使用类似于同步AJAX调用的东西。以这种方式使用:

代码语言:javascript
运行
复制
$.ajax({
     url:    'myfile.html',
     async:   false
     success: function(result) {
                  alert('Call back called');
              }
});

alert('You should alert second');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18468936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档