-1
Я творю функцию расширения:Как передать функции с именованными аргументами
jQuery.fn.openCreatePersonModal = function (arg1, personHandler) {
var person = { "displayName": "john" };
personHandler(person);
return this;
}
Но не может использовать его, ни так:
$("<div></div>").openCreatePersonModal({
arg1: "bla",
personHandler: somePreviouslyCreatedFunction
});
Nor так:
$("<div></div>").openCreatePersonModal({
arg1: "bla",
personHandler: function(person) { ... }
});
Я получаю: undefined не является функцией
Так что это не признает somePreviouslyCreatedFunction как функцию.
простую ошибку синтаксиса, вы ожидаете функции и передачи объекта. Передайте 'somePreviouslyCreatedFunction' или' new function (person) {...} 'непосредственно, без окружающего объекта (' {personHandler: ...} '), и он будет работать. – Yoshi
Затем примите ('function (personHandler, foo, bar) {') и передайте больше параметров. Если вам нужен именованный подход, то принимайте только один параметр и работайте с ним, например: 'function (args) {args.personHandler ...'. – Yoshi
Ahhh! БЛАГОДАРЮ. Отправьте его как ответ – sports