2013-09-21 128 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