如何使用一个函数的参数来调用另一个函数

时间:2010-11-09 19:27:11

标签: javascript jquery

我正在试图弄清楚如何将参数传递给一个函数,这实际上是第二个函数。很难解释所以这里有一些示例代码:

keyDownEvent("#thisID",nameOfFunctionToRunOnOpen);

function keyDownEvent(id, openFunction) {
$(id).dialog( {
    close: focusOnInput(),
    open: nameOfFunctionToRunOnOpen,
    modal: true,
    show: "clip",
    hide: "fade"
});
}

其他所有内容都是我的.dialog()调用的标准,只是想修改Open上发生的事情。知道如何实现这一目标吗?

3 个答案:

答案 0 :(得分:1)

只需使用匿名函数:

function keyDownEvent(id, openFunction) {
$(id).dialog( {
    close: focusOnInput(),
    open: function(){openFunction(someArgument);},
    modal: true,
    show: "clip",
    hide: "fade"
});
}

答案 1 :(得分:0)

您的第二个参数应该是一个实际的函数对象,而不仅仅是字符串中函数的名称。

答案 2 :(得分:0)

您可以简单地将该功能传递给您的第二个功能。函数是JavaScript中的对象,可以保存在变量中:

function outer(someOtherFunction) {
    someOtherFunction();
}

outer(function () {
    alert('inner function');
});