javascript
  • jquery
  • 2013-08-22 25 views 1 likes 
    1

    裏面工作,我有以下代碼:while循環增量值不是一個函數

    <?php 
    $i = 5; 
    while($i > 0){ 
    echo " 
    <input type = 'submit' value = '$i' id = '$i'> 
    "; 
    $i--; 
    } 
    ?> 
    <script type = 'text/javascript' src = 'js/jquery.js'></script> 
    <script type = 'text/javascript'> 
    $(document).ready(function(){ 
    var i = 5; 
    while(i > 0){ 
    $('#'+i).live('click',function(){ 
    alert(i); 
    }); 
    i--; 
    } 
    }); 
    </script> 
    

    當我點擊一個按鈕時,JavaScript應該提醒按鈕我點擊的ID。 但是,哪個按鈕我點擊它提醒0。我在考慮while循環增量值在函數內部不起作用。 id應該做什麼?

    +1

    閉合變量! –

    回答

    1

    這是因爲變量i的一些closurescope

    $(document).ready(function(){ 
        var i = 5; 
        while(i > 0){ 
         (function(idx){ 
          $('#'+idx).live('click',function(){ 
           alert(idx); 
          }); 
         })(i) 
         i--; 
        } 
    }); 
    
    +0

    謝謝你的工作..非常感謝你.. – user1763032

    相關問題