这是我的JavaScript示例:
function createButtons(idDialog, tab, fn, param) {
var btns = new Array();
for (var i = 0; i < tab.length; i++) {
btns.push( {
text: (tab[i]>0 ? '+':'')+tab[i],
click: function(a) {
console.log(fn);
console.log(param);
fn(param);
$(this).dialog("close");
}
});
};
btns.push( {
text: "Close",
click: function() {
$(this).dialog("close");
}
});
$(idDialog).dialog('option', 'buttons', btns);
}
params:fn
是一个应该在我们点击按钮时调用的函数,而param
是一个应该传递到该函数的参数。
当我使用此代码时,console.log(fn)
说undefined
而console.log(param)
说undefined
。它有点不记得那个参数。
我该怎么办?
答案 0 :(得分:0)
我已经让JoshNaro回答了问题,但他并没有这样做,他给出的解决方案完美无缺:
function createButtons(idDialog, tab, fn, param) {
var btns = new Array();
for (var i = 0; i < tab.length; i++) {
btns.push( {
text: (tab[i]>0 ? '+':'')+tab[i],
click: function(a) {
console.log(fn);
console.log(param);
fn(param);
$(this).dialog("close");
}
});
};
btns.push( {
text: "Close",
click: function() {
$(this).dialog("close");
}
});
$(idDialog).dialog('option', 'buttons', btns);
}
createButtons(
"#Hello",
['Save', 'Load'],
function(parameter) {
alert(parameter);
},
'World'
);