2013-09-21 3 views
0

을 실행 :JQuery와 클릭() 함수는, CLICK() 메소드가 한 번만 실행되는 다음 코드에서 한 번만

<!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> 

을 무슨 문제? 다른 주제는 모두 읽었지만 도움이되지 않았습니다.

고마워요.

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

답변

0

이 시도 - 그냥 다시 당신의 아니오가 있기 때문에, 당신의 i은 이전 실행에서 array.length된다없고 실패하기 때문에 조건이 두 번 실패 i 핸들러 0으로 귀하의 경우에 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++]); 
}); 
3

그것은 않습니다 :

0

나는 같은, 내가, 내가 기능을 클릭하여 이동하시기 바랍니다 문제가 변수로 인해 발생 생각 :

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

크리크 방법은 모든 클릭에 실행되지만 첫 번째 이후는 '아무튼 i === 3이기 때문에 더 이상 루프를 입력하지 마십시오.