2010-11-09 136 views
1

我想弄清楚如何將一個參數傳遞給一個函數,這實際上是第二個函數。很難解釋,所以這裏是一些示例代碼:如何使用一個函數的參數來調用另一個函數

keyDownEvent("#thisID",nameOfFunctionToRunOnOpen); 

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

其他的都是我的.dialog標準()調用,只是想修改打開會發生什麼。任何想法如何實現?

回答

1

只需使用匿名函數:

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

你的第二個參數應該給一個實際的函數對象,而不僅僅是一個字符串中函數的名字。

0

您可以將功能簡單地傳遞給你的第二個功能。函數是JavaScript中的對象,可以保存在變量中:

function outer(someOtherFunction) { 
    someOtherFunction(); 
} 

outer(function() { 
    alert('inner function'); 
}); 
相關問題