jQuery's .click - pass parameters to user function
function, javascript, jquery, parameter-passing
Solution
For thoroughness, I came across another solution which was part of the functionality introduced in version 1.4.3 of the jQuery click event handler.
It allows you to pass a data map to the event object that automatically gets fed back to the event handler function by jQuery as the first parameter. The data map would be handed to the `.click()` function as the first parameter, followed by the event handler function.
Here's some code to illustrate what I mean:
// say your selector and click handler looks something like this...
$("some selector").click({param1: "Hello", param2: "World"}, cool_function);
// in your function, just grab the event object and go crazy...
function cool_function(event){
alert(event.data.param1);
alert(event.data.param2);
}
Problem
I am trying to call a function with parameters using jQuery's .click, but I can't get it to work. This is how I want it to work: `$('.leadtoscore').click(add_event('shot'));` which calls ``` function add_event(event) { blah blah blah } ``` It works if I don't use parameters, like this: ``` $('.leadtoscore').click(add_event); function add_event() { blah blah blah } ``` But I need to be able to pass a parameter through to my `add_event` function. How can I do this specific thing? I know I can use `.click(function() { blah }`, but I call the `add_event` function from multiple places and want to do it this way.