I have two functions on my page. I am trying to find a way to access a variable in function 1 inside function 2:
$(function() {
$('a[id=1]').live("click", function(event) {
event.preventDefault();
var Var1 = "something1";
});
});
$(function() {
$('a[id=2]').live("click", function(event) {
event.preventDefault();
var Var2 = event.var1;
});
});
So I am sure my above is incorrect but you can see how in function 2 I am trying to grab a variable from the first function.
Is there a way I can do this? I don’t know why, but I keep thinking it has something to do with the event.var1 or the event functionality.
You need to declare the variable outside both functions, in a scope they can both access. I suggest combining your two document ready handlers into a single function and declaring the variable there:
Or you could make the variable a global if you need to access it from other places too.
Note that the two click events have nothing to do with each other so they certainly don’t share event data. Also, a click on the second anchor may occur before a click on the first, so you may want to give
var1a default value and/or test forundefinedbefor using it inside the second click handler.(Also I’ve changed
Var1tovar1because the JS convention is to start variable names with a lowercase letter – you don’t have to follow the convention, but I’d recommend it.)