我正在为IE8开发一个Web应用程序。
问题是:我的JavaScript / JQuery代码显示弹出“第3行的Stackoverflow”:
$(new Array(
new Array(/\xE4/g, "ä"), //ä
new Array(/\xF6/g, "ö"), //ö
new Array(/\xFC/g, "ü"), //ü
new Array(/\xC4/g, "Ä"), //Ä
new Array(/\xD6/g, "Ö"), //Ö
new Array(/\xDC/g, "Ü") //Ü
)).each(function(){
$("textarea[name=remarks]").val($("textarea[name=remarks]").val().replace(this[0], this[1]));
$("input[name=firstname]").val($("input[name=firstname]").val().replace(this[0], this[1]));
$("input[name=lastname]").val($("input[name=lastname]").val().replace(this[0], this[1]));
alert("1"); //after popup "1" ==> stackoverflow popup appears...
});
alert("2"); //is not executed
此错误仅出现在IE8中,在其他浏览器中,不在IE 10中,也不出现在其兼容模式中...
有没有人有解决方案?
据我所知,也没有递归,对吗?
编辑:
第一次循环后不会出现错误消息。它似乎是在第6次“1”之后... ...
答案 0 :(得分:1)
我真的很惭愧......
首先我注意到,即使我删除了我认为是原因的代码,也会出现错误。
然后我找到了错误的真正来源: 我的应用程序使用一个jQuery插件,它为输入和输出创建一个水印。文本域。
几个星期前,我在其中更改了一些错误修正内容 - 并且还写了类似的内容:
$(...).submit(function(){
...
$(...).submit();
...
});
==>很好的递归......> _<
@Yury Tarabanko 感谢您提供该代码段。