Jquery 从另一个函数调用var

Jquery 从另一个函数调用var,jquery,Jquery,我需要从另一个函数调用id值 这是密码 $("p").hover(function() { var i = $(this).text(); $("#o").show(); }, function() { $("#o").delay(2000).fadeOut("slow"); }); $("#o").click(function() { $(".display").append(i); });​ 我需要“I”值显示在“.display”类div上。 任何人都可以

我需要从另一个函数调用id值 这是密码

$("p").hover(function() {
    var i = $(this).text();
    $("#o").show();
}, function() {
    $("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
    $(".display").append(i);
});​
我需要“I”值显示在“.display”类div上。
任何人都可以帮我。

只需在外面声明
i

var i = '';
$("p").hover(function() {
   i = $(this).text();
   $("#o").show();
}, 
function() {
   $("#o").delay(2000).fadeOut("slow");
});

$("#o").click(function() {
   $(".display").append(i);
});

为了补充Vega的答案,我将把它包装在一个匿名函数中,以避免污染全局范围

(function() {
    var i = '';
    $("p").hover(function() {
        i = $(this).text();
        $("#o").show();
    }, function() {
        $("#o").delay(2000).fadeOut("slow");
    });
    $("#o").click(function() {
        $(".display").append(i);
    });​

})();

在外部函数返回后,内部回调函数仍然可以访问该变量,因为javascript有一个很好的名称。

创建闭包而不是全局变量

(function (i) {

    $("p").hover(function() {
       i = $(this).text();
        $("#o").show();
    }, function() {
        $("#o").delay(2000).fadeOut("slow");
    });

    $("#o").click(function() {
        $(".display").append(i);
    });​

}(""));

只要将i移出函数,就可以使用变量作用域

var i;
$("p").hover(function() {
    i = $(this).text();
    $("#o").show();
}, function() {
    $("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
    $(".display").append(i);
});

您缺少一个
<代码>}(“”)->
})(“”)
;在这里,我需要在pare之后显示文本,pare是我悬停的段落。。。如果你能帮上忙,meI肯定会建议将代码包装在一个匿名函数中以包含变量。见下面的答案