JQuery Click()函数只执行一次

时间:2013-09-21 22:09:01

标签: javascript javascript-events onclick 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>

问题是什么? 我读了所有其他科目但没有帮助。

非常感谢。

4 个答案:

答案 0 :(得分:3)

它确实: - 只需将您的i重置为0.在您的处理程序中,条件第二次失败,因为您的i从之前的执行变为array.length并且失败,因为有在你的情况下arr[array.length]即没有项目。

    $("#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 :(得分:1)

点击方法会在每次点击时运行,但在第一次点击后,它不再进入while循环,因为i === 3

答案 2 :(得分:0)

试试这个:

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

答案 3 :(得分:0)

我认为问题是由变量i引起的,请将i移动到单击功能,例如:

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