我在代码中变量的范围有问题
var ButtonPressed; //global SCOPE
$(document).ready(function()
{
function messageAlert()
{
$('#buttons').append('<input type="button" id="btn" value="Clickme" />');
return false;
}
messageAlert();
$('#btn').on("click", function()
{
ButtonPressed = 1;
});
}); //end document
//// UNDEFINED NOT WORKING
if (ButtonPressed === 1)
{
alert(ButtonPressed);
}
我尝试了有关范围教程的所有内容,但无法显示变量
ButtonPressed=1
GLOBAL。有什么帮助吗?
最佳答案
您正在将click事件绑定到按钮#btn
以设置全局变量ButtonPressed
,除非您单击该按钮,否则不会触发该全局变量。
当您的代码执行并到达该块(位于全局范围内)时,知道尚未单击该按钮
if (ButtonPressed === 1)
{
alert(ButtonPressed);
}
变量
ButtonPressed
不会被设置,因为您还没有单击按钮,因此不会警告任何消息。换句话说,if语句在点击处理程序之前运行