2016-05-25 76 views
-1

我無處可去顯然是一個嘗試在Js/JQuery中設置布爾標誌的簡單任務。我期待在btn1點擊之後標誌會改變(全局)。但是我可能誤解了JS的一些內部工作,在點擊btn2之後,標誌的狀態與最初聲明的狀態保持完全相同 - 我該如何解決這個問題?在JS/jQuery中設置布爾標誌

JS:從聲明

$(document).ready(function(){ 
    var $btn1 = $("#btn1"); 
    var $btn2 = $("#btn2"); 
    var active1 = true; 
    var active2 = false; 

    $btn1.click(function(){ 
    $active1 = false; 
    $active2 = true; 
    alert("after btn1 click: --> " + " active1: " + active1 + ", active2: " + active2); 
    }); 

    $btn2.click(function(){ 
    // If clicked first on btn1 I'm expecting active1=false; active2=true; ?? 
     alert("after btn2 click: " + " active1: " + active1 + ", active2: " + active2); 
    }); 
}); 

<button id="btn1">Button1</button> 
    <button id="btn2">Button2</button> 

JsFiddle Here

+1

change active1 = false;而不是$ active1 = false; –

+0

這不是PHP - 'active1'是一個變量'$ active1'是另一個變量。 – h2ooooooo

回答

1

刪除$。注意active1不是$active1與active2相同。

$btn1.click(function(){ 
    active1 = false; 
    active2 = true; 
    alert("after btn1 click: --> " + " active1: " + active1 + ", active2: " + active2); 
    }); 
+0

當然,我試圖把我的頭圍繞一個更復雜的案例,我在這裏犯了一個愚蠢的錯誤。好,它按預期工作,謝謝。 – Turo

+0

@Turo它發生了。 –