Бесполезный вызов setTimeout (пропущены кавычки вокруг аргумента?) - PullRequest
18 голосов
/ 21 ноября 2011

У меня есть этот фрагмент кода в jQuery

$element.parent().children().last().hide().show('slide', {direction : 'left'}, 700, function () {
    $element.delay(2000, function() {
        $element.parent().children().last().hide('slide', {direction: 'left'}, 700);             
        reload_table(question_number);
        //delay ends here
    });
});

delay объявлено как:

jQuery.fn.delay = function(time,func){
    return this.each(function(){
        setTimeout(func,time);
    });
};

Теперь я получаю сообщение об ошибке:

бесполезный вызов setTimeout (пропущены кавычки вокруг аргумента?)

FF3.x, Firefox 6+ в порядке. Есть идеи по этому поводу? Почему это может происходить?

Ответы [ 5 ]

17 голосов
/ 07 декабря 2012

Я получил ту же ошибку, когда написал

setTimeout(updateStatus(), 5000);

вместо

setTimeout(updateStatus, 5000);
10 голосов
/ 01 августа 2013

Я согласен с wsbaser.У меня был дополнительный экземпляр, необходимый для передачи информации в функцию, и для простоты:

setTimeout(function(){ updateStatus(myData) } , 5000);

Аргумент должен быть функцией, а не вызываемой функцией.Firefox уловил эту ошибку, Chrome позволил ей уйти.

7 голосов
/ 24 июля 2012

Просто для справки, если кто-то наткнется на этот вопрос и ищет возможный ответ.Я получил то же сообщение об ошибке, что и первоначальный постер, потому что я перепутал порядок аргументов setTimeout.

This:

setTimeout(25, function(){
    spotlight.intro.find('#intro').ellipsis();  
});

... дал мне сообщение об ошибке.Я изменил функцию следующим образом:

setTimeout(function(){
    spotlight.intro.find('#intro').ellipsis();
}, 25);

И моя проблема была решена.

6 голосов
/ 21 ноября 2011

Уже существует jQuery-метод delay , и он ожидает строку (queueName), а не функцию в качестве параметра.Выберите другое имя для своего метода задержки, чтобы избежать конфликтов.

0 голосов
/ 23 ноября 2011

Проблема была в Firefox 3. Он не обрабатывает некоторые элементы должным образом => Элемент полностью пропущен в дереве и игнорируется -> следовательно, моя первоначальная проблема

...