我正在创建扩展功能:
jQuery.fn.openCreatePersonModal = function (arg1, personHandler) {
var person = { "displayName": "john" };
personHandler(person);
return this;
}
但不能这样使用它:
$("<div></div>").openCreatePersonModal({
arg1: "bla",
personHandler: somePreviouslyCreatedFunction
});
也不是这样的:
$("<div></div>").openCreatePersonModal({
arg1: "bla",
personHandler: function(person) { ... }
});
我得到了: undefined不是函数
所以它没有将某些以前的处理函数识别为函数。
答案 0 :(得分:-1)
如果想要使用命名参数,则应使用1个参数并将其解释为对象
jQuery.fn.openCreatePersonModal = function (args) {
var person = { "displayName": "john" };
args.personHandler(person); // <-- notice "args."
return this;
}