1

我正在尝试使用 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++;
    };
}

其中“可乐”是元素 ID。如果我摆脱了该if声明而只拥有coke.disabled = true,那么它当然可以工作并在单击后禁用。我确定我缺少一个核心概念。谢谢你

4

2 回答 2

6

发生这种情况是因为每次onclick触发事件时,您var count都被分配为 0,因此在您的函数中它永远不会大于或等于 1。如果您count在函数外部初始化 var onclick,它将按预期运行。

window.onload = function () {
   var count = 0;
   coke.onclick = function(){
       if (count >= 1)
       {
           coke.disabled = true;
       }
       else
           count++;
   };
}
于 2013-04-02T18:35:58.270 回答
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++;
    };
}
于 2013-04-02T18:37:13.893 回答