这段代码有什么错误?为什么console.log(evt)返回“未定义”?

这是我的代码:

var documentKeydown = (evt)=>{
        console.log(evt);
        if (counter == 0) {
            XWhenDown = currentX;
            YWhenDown = currentY;
            document.onkeyup = documentKeyup();
            switch (evt.keyCode) {
                case 37 : currentX -= 10; break;
                case 38 : currentY -= 10; break;
                case 39 : currentX += 10; break;
                case 40 : currentY += 10; break;
            }
            animationTick = Ticker.add(animation);
        }
    }

    document.onkeydown = documentKeydown();

最佳答案

这将是document.onkeydown = documentKeydown;

不是document.onkeydown = documentKeydown();

documentKeydown是一个函数,因此不需要添加()即可调用



var documentKeydown = (evt)=> {
  console.log(evt);
}
document.onkeydown = documentKeydown;

<input type="text"/>

09-25 17:48