1

ボタンがx回クリックされた後、Javascriptを使用してボタンを無効にしようとしています。簡単にするために、ここでは 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、もちろん機能し、ワンクリックで無効になります。私が見逃しているコアコンセプトがあると確信しています。ありがとうございました

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 に答える