gpt4 book ai didi

javascript - 如何退出each()循环并从外部函数提前返回?

转载 作者:行者123 更新时间:2023-11-27 23:46:06 26 4
gpt4 key购买 nike

如果满足特定条件,我会尝试从事件处理函数提前返回(如果所选的 id 已在我的问题列表中。)

但是我没有看到我期望的结果。

当条件满足时,我收到“我应该返回”消息,但我也收到“我还去这里吗?”信息。这仍然允许其余代码在此函数中执行。

my.test.on('click', '.question-tagging .add-question-type', function() {
var questionIds = getSelectedQuestionIds();

console.log("questionIDs = " + questionIds);
var currentQuestions = $.each($('.question-list .question-item'), function () {
console.log("Question ID = " + $(this).find('.remove-tag').data('questionid'));
if (questionIds == $(this).find('.remove-tag').data('questionid'))
{
console.log("I should return");
return;
}
});

console.log("did i still go here?");

// more code...
});

最佳答案

如您所见,从 each() 返回,并不是从 click 处理程序返回。如果您放弃 each() 而使用简单的 for 循环,您可以获得您想要的结果:

my.test.on('click', '.question-tagging .add-question-type', function() {
var questionIds = getSelectedQuestionIds();

console.log("questionIDs = " + questionIds);
var currentQuestions = $('.question-list .question-item');

for ( var i = 0; i < currentQuestions.length; ++i )
{
var q = $(currentQuestions[i]);

console.log("Question ID = " + q.find('.remove-tag').data('questionid'));
if (questionIds == q.find('.remove-tag').data('questionid'))
{
console.log("I should return");
return;
}
}

console.log("did i still go here?");

// more code...
});

关于javascript - 如何退出each()循环并从外部函数提前返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33176147/

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