gpt4 book ai didi

javascript - 递归无法正常工作并且在不执行定义的情况下退出功能?

转载 作者:行者123 更新时间:2023-11-28 04:12:07 25 4
gpt4 key购买 nike

我有一个名为 Check_Reviewed(Form) 的函数,并且有一个 div 作为确认框。我在这个函数中显示并隐藏它,然后再次调用这个函数。但在调用时,它会转到函数的最后一个括号,并且不会执行完整的函数(如调试器和经验丰富的所示)。我无法理解这种行为。

代码片段如下:

在 HTML 文件中,我有一个 id 为 createdConfirmBoxdisplay hidden 的 div。

JS 函数:

function hideBox(boxName){
$("#"+boxName).hide();
$("bl").hide();
}
function createConfirmBox(name){
var confirmBox = $("#createdConfirmBox");
var content = "<div id='cross_createdConfirmBox_"+name+"' class='cross'>X</div><span id='spanCreatedConfirmBox_"+name+"' style='text-align:center; font-size:18px; line-height:25px; width:580px; padding:7px; font-style:italic; background-color:white; display:inline-block; border-radius:10px;'></span><br><br><div style='text-align:center;' id='divCreatedConfirmBox_"+name+"'></div><br><div style='text-align:center;'><button class='btn btn-primary' type='button' id='btn_createdConfirmBox_yes_"+name+"' style='padding:5px 25px; margin-right:40px; font-size:18px;' >YES</button><button class='btn btn-cancel' type='button' style=' padding:5px 25px; font-size:18px; margin-left:40px;' id='btn_createdConfirmBox_no_"+name+"'>NO</button></div><br>";
confirmBox.html(content);
}

function Check_review(Form){
...
...
...
var company_new = $("#company").val().trim();
if(company_old && company_old!="" && company_new==""){
createConfirmBox("company");
$("#createdConfirmBox").attr("box-made-for","company");
$("#spanCreatedConfirmBox_company").html("<label style='color:red;'><b>Warning!!!</b></label><br>You have removed <b>Company Name</b> from Contact Details.<br><br><span style='padding:7px;display:inline-block;'>Existing Company Name: <b>"+company_old+"</b><br>New Company Name: <label style='color:#c8c8c8;'>Removed<label></span>");
$("#divCreatedConfirmBox_company").html("<label style='color:#464444;'>Do you want to continue without <b>Company Name?</b></label>");
$("#btn_createdConfirmBox_yes_company").on('click',function(){
company_old="";
$("#company").val("");
hideBox("createdConfirmBox");
Check_Reviewed(Form);
});
$("#btn_createdConfirmBox_no_company").on('click',function(){
$("#company").val(company_old);
hideBox("createdConfirmBox");
Check_Reviewed(Form);
});
$("#cross_createdConfirmBox_company").on('click',function(){
$("#company").val(company_old);
hideBox("createdConfirmBox");
Check_Reviewed(Form);
});
$("#createdConfirmBox").show();
$("#bl").show();
return true;
}
}

正如我所说,单击按钮 btn_createdConfirmBox_no_company 时,它将转到单击它时定义的函数。当涉及到 Check_Reviewed(Form); 行时,它会转到函数 } 的最后一行,而不执行其中的代码。 Yhen 转到 click 函数 }); 的最后一行,然后退出。

我无法理解这种行为。

If you have any other method by which I can do my work then explain as I want to call this function Check_Reviewd(Form); on click of any button without making Form global variable.

最佳答案

实际上,问题出在函数中上面编写的代码中。它通过使用 return false 将其获取到函数之外。我使用断点来达到这个目的。原因是它在 ajax 请求成功时禁用该复选框,每当城市名称更改时就会触发该请求,并且由于此禁用复选框,我总是在完成之前退出该功能。

I know it was a very silly mistake and lack of knowledge. Thank you, everyone, for their responses and valuable time.

关于javascript - 递归无法正常工作并且在不执行定义的情况下退出功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46176967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com