Jak zarejestrować zdarzenie onkeydown dla płótna HTML5

Chciałbym napisać demo gry w węża z HTML5<canvas> element. Próbowałem zarejestrować zdarzenie klawiatury (onkeydown), ale nie działa.

Kod:

   canvas.onkeydown = divertDirection; //don't work
   //canvas.addEventListener("keydown", divertDirection, false);  //don't work

   //根据键盘来调振蛇移动的方向
   function divertDirection(ev) {
        console.log(ev);
    }

    //register this event for widnow
   window.addEventListener("keydown", divertDirection, false); //ok

questionAnswers(2)

yourAnswerToTheQuestion