-1

我正在创建一个扩展功能:

 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) { ... }
});

我得到:未定义不是一个函数

所以它没有将 somePreviousCreatedFunction 识别为一个函数。

4

1 回答 1

-1

如果想使用命名参数,应该使用 1 个参数并将其解释为一个对象

jQuery.fn.openCreatePersonModal = function (args) {
       var person = { "displayName": "john" };
       args.personHandler(person);                   // <-- notice "args."
       return this;
}
于 2013-04-16T21:08:36.080 回答