有jQuery退出功能吗?

时间:2013-03-15 05:10:04

标签: jquery

我有一个名为addItem()的自定义函数,其中包含each()函数。当满足某个条件时,我需要退出addItem()函数。我不能使用return因为它只从each()函数退出并仍然运行main函数内的其余代码。我试过exit,它似乎完美无缺。我只是不知道使用exit是否是正确的方法,因为我没有看到exit使用过多。

这是我的代码:

var addItem = function (position) {
    $(position + ' .item_div').each(function() {
        if($(this).find('.item').val() == '') {
            alert('Cannot be empty');
            exit;  // exit from addItem() function
                   // return does not work
        }
    });
    ...........
    ...........
    rest of the code here... this gets executed ONLY if each() fails...
    ...........
    ...........
}

3 个答案:

答案 0 :(得分:3)

你可以使用return false来打破.each循环。

  

您可以通过返回false来停止回调函数中的循环。

var addItem = function (position) {
    var valid = true;
    $(position + ' .item_div').each(function() {
        if($(this).find('.item').val() == '') {
            alert('Cannot be empty');
            valid = false;
            return false;
        }
    });

    if(!valid) {
        return;
    }
    ...........
    ...........
    rest of the code here... this gets executed ONLY if each() fails...
    ...........
    ...........
}

答案 1 :(得分:0)

根据文件。是。您需要在循环Break loop

return false;
$('.someclass').each(function() {

    if (someConditionMet)
        return false;
});

答案 2 :(得分:0)

你尝试过使用break吗? break语句“跳出”循环。

或者您可以创建标签并使用goto跳转到该标签。