I have a function that return value and i executed the function after click event for example
$("some_div").click( my_function());
The answer is how to get the returned value of the function.
i couldn't use
var something = $("some_div").click( my_function());
Thanks to every one who contribute the the question.I've got my answer.
I have a function that return value and i executed the function after click event for example
$("some_div").click( my_function());
The answer is how to get the returned value of the function.
i couldn't use
var something = $("some_div").click( my_function());
Thanks to every one who contribute the the question.I've got my answer.
Share Improve this question edited Jan 23, 2012 at 18:34 John Doe asked Jan 23, 2012 at 18:02 John DoeJohn Doe 1631 gold badge3 silver badges7 bronze badges 1- what are you intending to do with the returned value? – ryankeairns Commented Jan 23, 2012 at 18:04
3 Answers
Reset to default 4You have to pass a function to click
, not its return value. In the event handler you can call your function and deal with the return value as you see fit:
$("some_div").click(function() {
var result = my_function();
// do whatever you want with `result`
});
The event handler is not called immediately, but some time later (when the element is clicked). Therefore it does not make sense for .click
to return a value.
You could declare a global Variable and write the result into that. Here is an example that writes the current event into global:
var global = ''
$("#some_div").click(function(e){
global = e;
});
You can't get a return value, You only subsrcibe a callback
function that will be fire when clicking "some_div".
If you want to use some value from callback
function, use it inside the function or save it in a hidden input
$("some_div").click(function() {
var someValue = foo();
$('#hiddenInputName').val(someValue);
});
//later on...
var extractedValue = $('#hiddenInputName').val();