我尝试使用Javascript在点击x次后禁用按钮。为简单起见,我们现在说x = 2。我似乎无法让计数器增加。谢谢你的帮助!
var $ = function (id) {
return document.getElementById(id);
}
window.onload = function () {
coke.onclick = function(){
var count =0;
if (count >= 1)
{
coke.disabled = true;
}
else
count++;
};
}
“coke”是元素ID。如果我摆脱了if
语句并且只有coke.disabled = true
,当然它可以在一次点击后工作和禁用。我确信我缺少一个核心概念。
谢谢
答案 0 :(得分:6)
这种情况正在发生,因为每次onclick
事件被触发时,您的var count
被分配为0,因此它在函数中永远不会大于或等于1。如果您在count
函数之外初始化onclick
var,它将按预期运行。
window.onload = function () {
var count = 0;
coke.onclick = function(){
if (count >= 1)
{
coke.disabled = true;
}
else
count++;
};
}
答案 1 :(得分:1)
您需要在count
函数的范围之外定义onclick
:
var $ = function (id) {
return document.getElementById(id);
}
var count = 0; // set initial count to 0
window.onload = function () {
coke.onclick = function(){
if (count >= 1)
{
coke.disabled = true;
}
else
count++;
};
}