返回不在jquery中工作
我的jquery代码中的返回不在jquery中工作,jquery,function,return,exit,Jquery,Function,Return,Exit,我的jquery代码中的返回值有问题。我希望return在函数被点击后退出,但是函数会继续执行。我想我不是唯一一个有这个问题的人,但经过一番调查,我找不到我的困境的答案。以下是我的职责: $(".myButtonClass").on("click", function() { $(".myTextBoxClass").children('input').each(function() { if ($(this).css('display') === "inline-blo
返回值有问题。我希望return
在函数被点击后退出,但是函数会继续执行。我想我不是唯一一个有这个问题的人,但经过一番调查,我找不到我的困境的答案。以下是我的职责:
$(".myButtonClass").on("click", function() {
$(".myTextBoxClass").children('input').each(function() {
if ($(this).css('display') === "inline-block") {
var doLeave = confirm("Does the user want to move forward");
if (!doLeave) {
return;
}
}
});
document.vendorEdit.action = "newPage.asp";
document.vendorEdit.submit();
});
伙计们,我做错了什么?您需要返回false
退出。每个循环<代码>返回true
转到下一个迭代。您当前的return
语句导致每个循环中断,而不是从事件处理程序返回。在使用return语句退出每个循环之前,在conditiondoLeave
块中设置标志,并使用该标志从事件处理程序返回
$(".myButtonClass").on("click", function() {
var flagToReturn = false;
$(".myTextBoxClass").children('input').each(function() {
if ($(this).css('display') === "inline-block") {
var doLeave = confirm("Does the user want to move forward");
if (!doLeave) {
flagToReturn = true;
return;
}
}
if(flagToReturn) return;
});
document.vendorEdit.action = "newPage.asp";
document.vendorEdit.submit();
});
有两个函数,必须在这两个函数中给出“return false”
试试这个:
$(".myButtonClass").on("click", function() {
var valid = true;
$(".myTextBoxClass").children('input').each(function() {
if ($(this).css('display') === "inline-block") {
var doLeave = confirm("Does the user want to move forward");
if (!doLeave) {
valid = false;
return false;
}
}
});
if(!valid){
return false;
};
document.vendorEdit.action = "newPage.asp";
document.vendorEdit.submit();
});
但是您的两个返回都在each
内,但是each循环不会停止在返回上执行。它一直在运行。就是这样,我需要在返回之后输入false
。我刚刚意识到我有两个功能。这就是你不睡觉时发生的事情。谢谢:)
$(".myButtonClass").on("click", function() {
var valid = true;
$(".myTextBoxClass").children('input').each(function() {
if ($(this).css('display') === "inline-block") {
var doLeave = confirm("Does the user want to move forward");
if (!doLeave) {
valid = false;
return false;
}
}
});
if(!valid){
return false;
};
document.vendorEdit.action = "newPage.asp";
document.vendorEdit.submit();
});