有没有办法将多个函数“绑定”到jQuery的document.ready函数,而无需在该方法中实际调用它们。基本上我不知道在生成页面之前我可能会在document.ready中调用哪些函数。
答案 0 :(得分:5)
有几种方法可以解决这个问题。 (你可能想要#2。)
使用选项类来确定 会发生什么,然后有静态代码 检查选项以查看 哪个功能可以调用。
等到你知道什么功能 调用,并将其中的每一个添加到 $(document).ready(无论)为 分开的。
$(document).ready(function1); $(document).ready(function8);
动态创建您编写的一个函数的主体$(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'); }):