Функция JQuery Click () выполняется только один раз

0

В следующем коде метод 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>

В чем проблема? Я прочитал все остальные темы, но не помог.

Большое спасибо.

Теги:
javascript-events
onclick

4 ответа

3

Он делает следующее: - Просто сбросьте i в 0. В вашем обработчике условие не выполняется во второй раз, потому что ваш i становится array.length из вашего предыдущего выполнения, и он терпит неудачу, поскольку в arr[array.length] i.e3 нет элемента ваш случай.

    $("#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++]);
 });
1

Метод click запускается на каждом клике, но после первого он больше не вводит цикл while, потому что i === 3.

0

Я думаю, что проблема вызвана переменной i, пожалуйста, переместите я в функцию щелчка, например:

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

попробуй это:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню