我希望得到一个变量(在点击链接时设置)到一个函数并将其显示为弹出窗口。
代码如下所示:
$('a#link1').click(function(e){
e.preventDefault();
var value = 'true';
});
function exe(){
alert(value);
}
执行该函数时,我得到的所有值都是未识别的。
所以有人知道解决方法吗?
答案 0 :(得分:4)
变量具有范围,您可以在onclick闭包的范围内定义value
变量,并且它不会在其外部访问。
以下方法可行:
var value = false; //Define in the global scope
$('a#link1').click(function(e){
e.preventDefault();
value = false; //Use in a local-scope is legal.
});
function doSomething()
{
alert(value);
}
然而,拥有许多全局变量将使您的项目难以维护,并且还有其他更清晰的解决方案可用。一般来说,我建议你阅读一本关于编程的正确书籍:)
答案 1 :(得分:0)
只需将变量设为全局变量,或者更好地使用.data()
将其“附加”到元素:
$('a#link1').click(function(e) {
e.preventDefault();
$(this).data("value", "true");
});
然后你可以随时检查:
function exe() {
alert($('a#link1').data("value"));
}
请注意,它是在jQuery 1.2.3中添加的,但是到现在为止它并不重要。