這裏是我的代碼:傳遞函數數組作爲參數
function test(e, f) {
for (var i = 0; i < e.length; i++) {
$('#clickme').append("<button id='op" + i + "'>" + e[i] + "</button>")
$('#op' + i).click(function() {
f[i]();
})
}
}
$(function postPunk() {
var func1 = function() {
alert('1');
}
var func2 = function() {
alert('2');
}
var func3 = function() {
alert('3');
}
test(['Option1', 'Option2', 'Option3'], [func1, func2, func3]);
})
的點擊事件不會調用該函數。如果我在點擊事件中放置了一個警報測試,它會正常啓動。
任何想法爲什麼這不起作用?將函數數組作爲參數傳遞似乎是一個問題。有一個更好的方法嗎?
不知道';'是可選在JavaScript中。你在第6行和最後一行錯過了它們。 – 2012-08-17 18:12:50
你在控制檯上看着它嗎?有一個錯誤:'TypeError:[3]不是函數「f」+ [i]();' – 2012-08-17 18:12:56
@WouterH and line 3. – 2012-08-17 18:13:48