2013-09-21 173 views
0

在下面的代碼,請點擊()方法只運行一次:JQuery的點擊()函數執行一次

<!DOCTYPE html> 
<html> 
<head> 
    <script src="jquery-1.10.2.min.js"></script> 
    <script> 
    $(function(){ 
     var arr = ["test1", "test2", "test3"]; 
     var i=0; 

     $("#btn").click(function() { 
      while(arr[i]) 
       alert(arr[i++]); 
     }); 

    }); 
    </script> 
</head> 

<body> 
    <div id="btn">Click Me</div> 
</body> 

</html> 

請告訴我這個問題? 我讀了所有其他科目,但沒有幫助。

非常感謝。

回答

0

試試這個:

$("#btn").on('click', function() { 
      while(arr[i]) 
       alert(arr[i++]); 
     }); 
3

它: - 只需重置i爲0。在處理程序條件失敗第二次,因爲你i從以前的執行變得array.length和失敗,因爲沒有項目在arr[array.length]即3您的情況。

$("#btn").click(function() { 
     while(arr[i]) 
      alert(arr[i++]); 
     i = 0; //here reset it 

    }); 

或者只是將其移到該函數的範圍。

$("#btn").click(function() { 
     var i = 0; 
      while(arr[i]) 
       alert(arr[i++]); 
}); 
0

我認爲這個問題是由變量引起的我,請移步我點擊的功能,如:

$("#btn").bind('click', function(){ 
    var i = 0; 
    while(arr[i]) 
     alert(arr[i++]); 
}); 
1

Click方法的每次點擊運行,但後,第一個它不」不再輸入while循環,因爲i === 3