2011-11-18 140 views
1

我得到Uncaught TypeError: Property 'setTimeout' of object [object DOMWindow] is not a function尽管Mozilla Firefox和Internet Explorer中的函数运行良好。但Chrome正在创造这样的问题。当我试图找出相应行上的代码时。我在库中有以下功能。Chrome中未捕获的类型错误

// Animations created synchronously will run synchronously 
function createFxNow() { 
    setTimeout(clearFxNow, 0); // Line where I am getting error. 
    return (fxNow = jQuery.now()); 
} 

function clearFxNow() { 
fxNow = undefined; 
} 
+0

检查你的代码是否有类似'setTimeout = something'的字符串 – c69

回答

0

也许全局对象不在范围内这里的某些原因。尝试使用window.setTimeout。无论如何,所有“全局”变量/函数都应该像这样引用。

顺便说一句:该行fxNow = undefined;是危险的。 undefined不是JavaScript中的关键字,但只是一个变量(通常)恰好是未定义的。如果其他代码设置了它(undefined = "Hello"),则会出现问题。 fxNow = null可能是更好的选择。

+0

'fxNow'是jQuery的一部分,其中'undefined'是一个局部变量,由于没有参数传递,所以这个局部变量确实是'undefined'。 – pimvdb

+0

对Jquery库的更改使我无法实现要求。它继续相同的错误。 –

+1

@Rahul:也许这个函数被另一个JavaScript覆盖了?使用调试器来检查'window.setTimeout'的值。 – RoToRa