2011-11-13 19 views
2

是否有可能将定义的函数作为jQuery的$(document).ready()而不是匿名函数的处理函数?

我已经做了几个实验,但无济于事。其中之一在这里:http://pastebin.com/XHKPc879

回答

4

当然,普通函数就像匿名函数一样。

这是working fiddle

在你的例子中,你实际上调用该函数并将其返回值传递给文档读取,因为你已经关闭了()。把它们关闭,它应该工作。

当然,如果你调用函数返回函数that works too

编辑

首先链接:

function foo() { 
    alert("ohai!"); 
} 

$(document).ready(foo); 

第二个链接:

function fooGen() { 
    return function() { 
     alert("kthxbai!"); 
    }; 
} 

$(document).ready(fooGen()); 
7

是的,这是可能的:

function pancakes() { /* Do interesting things */ } 
$(document).ready(pancakes); 

钍Ë问题与您引擎收录:

$(document).ready(test()); 

是当你说test(),只是下降的括号,你是好了,我们在调用test功能。

+0

不仅可能,而且可以说是将代码保存在可管理的块中的一种好方法,并且也可以将它嵌套到超出正确边距的位置。 :) –

+2

@WestonC等等,你的意思是如果你在它的一侧打开代码,左边距不是一个多么棒的图表? –

+0

仅当您使用[空白](http://compsoc.dur.ac.uk/whitespace/)语言进行编程时。 –

0

您也可以命名您的匿名函数,所以它不是很匿名:

$(function bob(){ 
    alert('hi'); 
}); 

这是调试时偶尔有用。