为什么我的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();
});
答案 0 :(得分:11)
你有无限的递归。想一想,文档准备好了怎么办?调用preparePlz
。 preparePlz
内发生了什么?调用preparePlz
。 preparePlz
内发生了什么? preparePlz
被称为。{/ p>
答案 1 :(得分:2)
函数preparePlz
所做的最后一件事就是自己运行:
preparePlz();
当页面加载preparePlz
运行一次,然后进入无限循环。
变化
});
preparePlz();
}
到
});
}