我有一个jquery对话框,其定义如下(此处显示的部分代码)
buttons: {
"Opslaan": function() {
Opslaan();
$(this).dialog("close");
},
"Annuleren": function() {
$(this).dialog("close");
}
}
De Opslaan()
函数定义为空体(function Opslaan(){}
)。
现在从各个地方打开对话框,所以我想在打开对话框时定义Opslaan()
方法的主体,因为它必须在对话框中保存数据,但是会在那些不同的地方,所以Opslaan(保存)方法必须一直与我不同。
我想到的一件事是当我打开它时将实际方法传递给对话框(所以用传递的方法替换静态opslaan();
调用),但我不知道是否可能< / p>
因此,当用户点击按钮A
时,在伪代码中答案 0 :(得分:0)
将唯一函数作为泛型函数的参数传递是处理此问题的好方法。这是一个简单的演示:
var save = function(saveFunction) {
saveFunction();
// common code
alert('common code');
}
var aSaveFunction = function() {
alert('aSaveFunction Called.');
};
$('#one').click(function() {
save(aSaveFunction);
});
var aDifferentSaveFunction = function() {
alert('aDifferentSaveFunction Called.');
};
$('#two').click(function() {
save(aDifferentSaveFunction);
});
或者看看行动中的小提琴:http://jsfiddle.net/peteorpeter/7H3mm/3/
此外,有关javascript函数作为对象的更多信息:http://www.sergiopereira.com/articles/advjs.html,请查找“你是什么意思?函数也是一个对象?”。