从对象引用请求动画帧时出错



我试图在Firefox中调用mozRequestAnimationFrame,但我不断收到错误。这是我的代码:

var obj={
    animFrame:mozRequestAnimationFrame
}
var animF=mozRequestAnimationFrame;
function a(){
 console.log('a called');   
}
animF(a);
obj.animFrame(a);

错误发生在我收到以下错误消息obj.animFrame(a);

对包装本机原型对象的非法操作

我在SO上找到了这个线程:requestAnimationFrame带有此关键字然后认为也许请求动画框架没有正确的"这个"上下文,所以我尝试了

obj.animFrame(a).bind(window);

但仍然收到相同的错误消息。那么为什么会发生错误呢?

我不知道

为什么您需要将指向requestAnimationFramemozRequestAnimationFrame )的指针保存到某个对象中,但请尝试下一个代码以避免错误:

var obj={
    animFrame:mozRequestAnimationFrame.bind(window)
}
function a(){
 console.log('a called');   
}
obj.animFrame(a);

最新更新