I playing around with a function that I want to bind to all the links. At the present the function fires when the page loads, instead of when I click on the link.
Here’s my code. (I can post the function showDiv(), if you need to see it.) Can you tell if I’m doing something wrong or stupid here?
$(document).ready(function(){
$('a.test').bind("click", showDiv());
});
Thanks!
You want to pass a reference to a function as a callback, and not the result of function execution:
showDiv()returns some value; if noreturnstatement was used,undefinedis returned.showDivis a reference to the function that should be executed.This should work:
Alternatively, you could use an anonymous function to perform a more advanced function:
In some circumstances you may want to use the value returned by a function as a callback:
In this example,
foois evaluated usingfizzand returns a function that will be assigned as the callback for the click event.