我想让我的代码更清洁一些,所以我想在它自己的方法中使用很长的函数。如何在jQuery中调用函数?
现在我有
$('#Id').submit(function()
{
// lots of code here
});
现在我想打破它像
$('#Id').submit(MyFunction);
function MyFunction()
{
// code now here.
}
,但我需要一些PARMS通入MyFunction的。所以我试了
$('#Id').submit(MyFunction(param1, param2));
function MyFunction(param1, param2)
{
// code now here.
}
但是当我这样做的时候什么都行不通。 Firebug向我展示了一些关于F没有被定义或者某些东西的巨大屁股错误。所以我不确定我需要做些什么才能使它工作。
感谢,似乎已经完成了帽子戏法。任何你不能马上传递的理由? – chobo2 2009-08-23 06:39:07
那么,你在做什么是建立一个匿名函数。我认为你可以马上传递它(就像你的第二个例子那样),但是当你需要更多的参数时(从编写代码的上下文中,而不是方法的调用),那么你需要像这样传递它们(因为你不负责.submit调用,实际上是你的调用) – 2009-08-23 06:42:19
@ chobo2:因为没有魔法,如果你写'foo.submit(MyFunction(one,two))',那么你就*调用* 'MyFunction'就在那里,并且(假设它不首先崩溃)尝试将它的返回值传递给'submit'。 – hobbs 2009-08-23 09:08:14