如何在document.ready上调用多个js函数而不将它们放到jQuery(document).ready(function(){});

时间:2011-06-29 14:48:44

标签: javascript jquery

有没有办法将多个函数“绑定”到jQuery的document.ready函数,而无需在该方法中实际调用它们。基本上我不知道在生成页面之前我可能会在document.ready中调用哪些函数。

4 个答案:

答案 0 :(得分:5)

有几种方法可以解决这个问题。 (你可能想要#2。)

  1. 使用选项类来确定 会发生什么,然后有静态代码 检查选项以查看 哪个功能可以调用。

  2. 等到你知道什么功能 调用,并将其中的每一个添加到 $(document).ready(无论)为 分开的。

    $(document).ready(function1);
    $(document).ready(function8);
    
  3. 动态创建您编写的一个函数的主体$(document).ready(...)

答案 1 :(得分:1)

如果您在文件已经准备就绪后随时调用$(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。

答案 2 :(得分:0)

我不确定我是否完全理解你没有打电话的意思。但你可以做的是将函数作为变量传递(例如func1和func2)

通过这种方式,您可以执行以下操作:

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

doSomething(f1,f2){
   return f1()+f2("somedata");
   // or whatever you wanna do
}

答案 3 :(得分:-2)

$(function() { alert('ready'); });

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