簡體   English   中英

如何在 document.ready 上調用多個 js 函數而不放置它們 jQuery(document).ready(function(){});

[英]How to call multiple js functions on document.ready without putting them jQuery(document).ready(function(){});

有沒有辦法將多個函數“綁定”到 jQuery 的 document.ready function 而無需在該方法中實際調用它們。 基本上我不知道在生成頁面之前我可能會在 document.ready 中調用哪些函數。

有幾種方法可以處理這個問題。 (你可能想要#2。)

  1. 使用選項 class 來確定會發生什么,然后使用 static 代碼檢查選項以查看要調用的函數。

  2. 等到您知道要調用哪些函數,然后將它們中的每一個作為單獨的行添加到 $(document).ready( whatever ) 中。

     $(document).ready(function1); $(document).ready(function8);
  3. 動態創建您寫入 $(document).ready(...) 的一個 function 的主體

如果您在文檔准備就緒后隨時調用 $(document).ready() ,它將立即執行:( http://jsfiddle.net/Ew8b3/

var afterReady = function(){
    $(document).ready(function(){
      $('body').append('<div>waited 5 secs</div>');
    });
};

$(document).ready(function(){
  setTimeout(afterReady, 5000);
});

我不確定您如何/何時知道要執行什么,但知道您可以隨時使用 document.ready。

我不確定我是否完全理解綁定而不調用的意思。 但是您可以做的是將函數作為變量傳遞(例如 func1 和 func2)

這樣,您可以執行以下操作:

$(document).ready(function() { 
                      var func1 = ...;
                      var func2 = ...;
                      doSomething(func1,func2);
}

doSomething(f1,f2){
   return f1()+f2("somedata");
   // or whatever you wanna do
}
$(function() { alert('ready'); });

是相同的

Jquery(document).ready(function() { alert('ready'); }):

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM