Javascript 无效的setTimeout调用(参数周围缺少引号?)

Javascript 无效的setTimeout调用(参数周围缺少引号?),javascript,jquery,settimeout,firefox3.6,Javascript,Jquery,Settimeout,Firefox3.6,我在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);

我在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
    });
});
延迟
声明为:

jQuery.fn.delay = function(time,func){
    return this.each(function(){
        setTimeout(func,time);
    });
};
现在我得到一个错误:

无效的setTimeout调用(参数周围缺少引号?)


火狐6+还可以。有什么想法吗?为什么会发生这种情况?

已经存在一个jQuery方法,它需要一个字符串(queueName),而不是一个函数作为参数。
为延迟方法选择另一个名称以避免冲突

问题出在Firefox3上。它没有正确地处理某些元素=>元素在树中被完全忽略->因此,如果有人偶然发现这个问题并正在寻找可能的答案,我的原始问题仅供参考。我得到了与最初海报完全相同的错误消息,因为我混淆了
setTimeout
参数顺序

这:

。。。给了我错误信息。我将函数更改为:

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

我的问题也解决了。

我在写作时也犯了同样的错误

setTimeout(updateStatus(), 5000);
而不是

setTimeout(updateStatus, 5000);

我同意wsbaser的观点。我有一个额外的实例,需要将信息传递给函数,为了简单起见,使用了:

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

参数必须是函数,而不是被调用的函数。Firefox发现了这个错误,chrome放弃了。

很抱歉,这并没有解决这个问题。这个问题的答案既没有帮助,也没有描述性。OP已经正确调用了这个方法!这不是问题所在。在第一个参数中,他已经在传递一个指向函数的指针。
setTimeout(function(){ updateStatus(myData) } , 5000);