第一次单击“仅”时,我正在编写一个小的脚本来清除搜索表单。到目前为止,我有以下几点:
$(function() {
if(typeof firstClick == 'undefined')
{
$("#search").live("focus", function() {
$(this).val("");
var firstClick = true;
});
}
});
但是,即使使用var firstClick = true定义变量;在函数中,脚本似乎每次都传递if语句。我确定我缺少一些愚蠢的东西,但是我似乎无法弄清楚。
我尝试将函数外部的var firstClick定义为一个假布尔值,然后检查是否为假,但是我似乎仍然无法使变量在函数中变为真。
最佳答案
变量仅存在于定义它们的作用域(使用var
)和其后代作用域中。您的typeof
调用在祖先范围内。 firstClick
不存在。您应该在外部范围中将变量定义为false
,然后在内部将其重新定义为true
。此外,条件应该在点击处理程序中。
$(function() {
var firstClick = false;
$("#search").live("focus", function() {
if (!firstClick) {
$(this).val("");
firstClick = true; // change the value in the outside scope
}
});
});
关于javascript - Javascript变量未在函数中定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8172802/