thedp
thedp

Reputation: 8508

Pass a function as parameter in jQuery?

I would like to pass to a jQuery function a regular function, instead of the usual anonymous function, but I'm not sure how such a thing could be done.

Instead of this:

function setVersion(feature) {
      $.post("some.php", { abc:"abc" },
      function(data){
         // do something here
      }, "json");
}

I would like to do this:

function foo(data){
   // do something here
}

function setVersion(feature) {
      $.post("some.php", { abc:"abc" }, foo, "json");
}

Thank you.

Upvotes: 7

Views: 14763

Answers (3)

Eli
Eli

Reputation: 99408

Should run just fine.

I believe jQuery is actually meant to use the regular function, called by name. Using the anonymous function is simply a replacement for a named function that would otherwise be passed.

Upvotes: 2

elias
elias

Reputation: 1469

Yeah, already works. But you want it probably look like this:

function setVersion(feature, myFunction) {
      $.post("some.php", { abc:"abc" }, myFunction, "json");
}
setVersion(blah, foo);

Upvotes: 12

Guffa
Guffa

Reputation: 700362

Yes, that is exactly how you do it.

Upvotes: 1

Related Questions