JQUERY:对话框中的脚本不断循环

时间:2018-10-23 11:09:39

标签: jquery

我遇到一个奇怪的问题。我有一个对话框,其中有一个“添加”按钮,输入文本后,还有另一个“添加”按钮。但是,假设我输入了第二条注释,则它循环两次,而类似地,第三条循环三次。但是我可以看到错误在哪里。请您指导我吗?

 $("#show").dialog({
                    resizable: false,
                    width: 500,
                    height: 650,
                    title: "Job Reference " + jobid,
                    modal: true,
                    show: 'fold',
                    buttons: {
                        "Add Comment": function () {
                            $("#AddCommentDialog").dialog({
                                resizable: false,
                                width: 500,
                                height: 200,
                                title: "Add Comment",
                                modal: true,
                                buttons: {
                                    "Add": function () {
                                        var text = $("#JobCommenttext").val();
                                        if (text.length > 0) {
                                            $("#User-Login").dialog();
                                            $("#verify").click(function () {
                                                var username = $("#username").val();
                                                var password = $("#password").val();
                                                if (username == '' || password == '') {
                                                    alert("Please fill all fields");
                                                } else {
                                                    verifyUser(username, password);
                                                    if (verifyUser) {
                                                        UpdateComments(jobid, text, username);
                                                        $("#JobCommenttext").val('');
                                                        $("#username").val('');
                                                        $("#password").val('');
                                                        $("#User-Login").dialog("close");
                                                        $("#show").dialog("close");
                                                    }

                                                }
                                            })        

1 个答案:

答案 0 :(得分:0)

此问题通过在点击事件中使用.one来解决。这阻止了该功能运行两次。 .one确保事件仅运行一次,因此可以防止循环。感谢@freedomn -m