一切就绪后jQuery执行脚本

时间:2014-04-08 01:30:54

标签: javascript jquery ajax

我在我的网页中使用ajax,我在ajax页面中有一些javascript,将在加载ajax页面时执行。但问题是,在完全加载ajax页面之后,如何让jquery只执行脚本?

我尝试过:

$( '#ajaxdiv' ).load(function() {

}

但它根本没有运行代码。如果我把它.ready(),那么它会运行代码,但不会在所有内容都加载后。

是否有可能只有一段代码只能在一切准备就绪后执行?

1 个答案:

答案 0 :(得分:0)

您应该查看延迟的promise对象。这是一篇体面的文章,解释它是什么/如何使用它。

延迟对象 http://api.jquery.com/category/deferred-object/

http://css-tricks.com/multiple-simultaneous-ajax-requests-one-callback-jquery/ (以下文章中的示例代码。)

$.when(
  // Get the HTML
  $.get("/feature/", function(html) {
    globalStore.html = html;
  }),

  // Get the CSS
  $.get("/assets/feature.css", function(css) {
    globalStore.css = css;
  }),

  // Get the JS
  $.getScript("/assets/feature.js")

).then(function() {

  // All is ready now, so...

  // Add CSS to page
  $("<style />").html(globalStore.css).appendTo("head");

  // Add HTML to page
  $("body").append(globalStore.html);

});