Javascript Jquery-从另一个函数获取变量

Javascript Jquery-从另一个函数获取变量,javascript,jquery,Javascript,Jquery,我的页面上有两个函数。我试图找到一种方法来访问函数2中函数1中的变量: $(function() { $('a[id=1]').live("click", function(event) { event.preventDefault(); var Var1 = "something1"; }); }); $(function() { $('a[id=2]').live("click", function(event) {

我的页面上有两个函数。我试图找到一种方法来访问函数2中函数1中的变量:

$(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;
       });
});
所以我确信我的上面是不正确的,但是你可以看到,在函数2中,我试图从第一个函数中获取一个变量


我有办法做到这一点吗?我不知道为什么,但我一直认为它与
event.var1
或事件功能有关

您需要在两个函数之外声明变量,在它们都可以访问的范围内。我建议将两个文档就绪处理程序组合成一个函数,并在其中声明变量:

$(function() {
    var var1;  // may want to assign a default

    $('a[id=1]').live("click", function(event) {
        event.preventDefault();
        var1 = "something1";
       });

    $('a[id=2]').live("click", function(event) {
        event.preventDefault();
        var var2 = var1;
       });
});
或者,如果需要从其他地方访问变量,也可以将其设置为全局变量

请注意,这两个单击事件彼此无关,因此它们肯定不会共享事件数据。此外,在单击第一个锚点之前,可能会单击第二个锚点,因此您可能希望在第二个单击处理程序中使用它之前,为
var1
提供默认值和/或测试
undefined


(我还将
Var1
更改为
Var1
,因为JS惯例是以小写字母开头变量名-您不必遵循惯例,但我建议您这样做。)

每个事件在每次单击时都是唯一的,您可以将结果存储在窗口对象中的全局变量中,并注意事件的顺序

$(function() {
$('a[id=1]').live("click", function(event) {
    event.preventDefault();
    window.Var1 = "something1";
   });
});

$(function() {
$('a[id=2]').live("click", function(event) {
    event.preventDefault();
    var Var2 = window.Var1;
   });
});

第二次单击的事件与第一次单击的事件无关。因此,要确认,您只需单击一次即可设置变量,并在第二次单击时使用它?