如何将变量转换为函数?

时间:2011-11-09 09:36:36

标签: javascript jquery

我希望得到一个变量(在点击链接时设置)到一个函数并将其显示为弹出窗口。

代码如下所示:

$('a#link1').click(function(e){
e.preventDefault();
    var value = 'true';
});


function exe(){
    alert(value);
}

执行该函数时,我得到的所有值都是未识别的。

所以有人知道解决方法吗?

2 个答案:

答案 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中添加的,但是到现在为止它并不重要。