【问题标题】:Why would my jquery/javascript be buggy?为什么我的 jquery/javascript 会出错?
【发布时间】:2014-02-11 14:26:45
【问题描述】:

为什么我的 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();
    });

【问题讨论】:

  • 您正在通过在他自己的函数中调用preparePlz(); 创建一个无限循环...因此您的浏览器将开始使用它可以使用的所有内存并最终引发错误。如果您要在 stackoverflow 上再次发布,请尝试给出更清晰的标题来说明您的问题。
  • 你有一个无限循环,但随之而来的问题是:你想在这里做什么?

标签: javascript jquery


【解决方案1】:

你有无限递归。想想看,文件准备好了会发生什么? preparePlz 被调用。 preparePlz 内部会发生什么? preparePlz 被调用。 preparePlz 内部会发生什么? preparePlz 被调用。

【讨论】:

    【解决方案2】:

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

    preparePlz();
    

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

        });
        preparePlz();
    }
    

        });
    
    }
    

    【讨论】:

    • 好的,问题是无限循环,我将线路向上移动,以便在点击事件中调用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    相关资源
    最近更新 更多