我试图在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);
但仍然收到相同的错误消息。那么为什么会发生错误呢?
我不知道
为什么您需要将指向requestAnimationFrame
( mozRequestAnimationFrame
)的指针保存到某个对象中,但请尝试下一个代码以避免错误:
var obj={
animFrame:mozRequestAnimationFrame.bind(window)
}
function a(){
console.log('a called');
}
obj.animFrame(a);