我正在尝试在Firefox中调用mozRequestAnimationFrame,但我一直收到错误消息。这是我的代码:
var obj={
animFrame:mozRequestAnimationFrame
}
var animF=mozRequestAnimationFrame;
function a(){
console.log('a called');
}
animF(a);
obj.animFrame(a);
obj.animFrame(a);
发生错误,我收到以下错误消息:对WrappedNative原型对象的非法操作
我在SO上找到了该线程:requestAnimationFrame with this keyword
然后发现requestanimationframe可能没有正确的“ this”上下文,所以我尝试了
obj.animFrame(a).bind(window);
但仍然收到相同的错误消息。那么为什么会发生错误呢?
最佳答案
我不知道为什么需要将指向requestAnimationFrame
(mozRequestAnimationFrame
)的指针保存到某个对象中,但是尝试下一个代码来避免错误:
var obj={
animFrame:mozRequestAnimationFrame.bind(window)
}
function a(){
console.log('a called');
}
obj.animFrame(a);