我需要从另一个函数调用id值 这里是代码
$("p").hover(function() {
var i = $(this).text();
$("#o").show();
}, function() {
$("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
$(".display").append(i);
});
我需要在“.display”类div上显示“i”值。 任何人都可以帮助我..
答案 0 :(得分:4)
只需在外面声明i
..
var i = '';
$("p").hover(function() {
i = $(this).text();
$("#o").show();
},
function() {
$("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
$(".display").append(i);
});
答案 1 :(得分:1)
要添加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有一个名为closures的好东西。
答案 2 :(得分:1)
创建一个闭包而不是全局变量......
(function (i) {
$("p").hover(function() {
i = $(this).text();
$("#o").show();
}, function() {
$("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
$(".display").append(i);
});
}(""));
答案 3 :(得分:0)
通过将i移到函数之外,只需使用变量范围。
var i;
$("p").hover(function() {
i = $(this).text();
$("#o").show();
}, function() {
$("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
$(".display").append(i);
});