为什么我的jquery / javascript会出错?

时间:2014-02-11 14:26:45

标签: javascript jquery

为什么我的jquery / javascript会出错? (使用基础4.3.2和Jquery 1.10.2)

Firefox总是会给出一条消息来停止脚本: “此页面上的脚本可能正忙,或者可能已停止响应......”

这是给出问题的函数

  function preparePlz() {
        $('#plzform').on("submit", function (event) {
            event.preventDefault();
            var plzVal = $('#plz').val();
            var regex = new RegExp("^([0-9]{5})$");
            if (!regex.test(plzVal)) {
                $('.errormessage').addClass("error");
                if ($('.errormessage').hasClass("hide")) {
                    $('.errormessage').removeClass("hide");
                }
                $("#plz ").addClass("error");
            }
            else if(regex.test(plzVal)) {
                $('.errormessage').addClass("hide");
                $('.errormessage').removeClass("error");
                $('#plz').removeClass("error");
                $('#message').removeClass("hide");
                var plzZone = plzVal.substring(0, 2);
                $('#plzModal').foundation('reveal', 'open', {
                    url: 'http://vaeplan.com/kontact/zone',
                    data: {showtemplate: false, r: plzZone}
                });
            }
        });
        preparePlz();
    }
    $(document).ready(function () {
        preparePlz();
    });

2 个答案:

答案 0 :(得分:11)

你有无限的递归。想一想,文档准备好了怎么办?调用preparePlzpreparePlz内发生了什么?调用preparePlzpreparePlz内发生了什么? preparePlz被称为。{/ p>

答案 1 :(得分:2)

函数preparePlz所做的最后一件事就是自己运行:

preparePlz();

当页面加载preparePlz运行一次,然后进入无限循环。 变化

    });
    preparePlz();
}

    });

}