Поскольку скрипт ECMA настолько гибок по своей сути - он позволяет присваивать функции, методы ... практически все ... переменной, имея дополнительные функции для присоединения функции к переменной, такой как "addEventListener", и есть мое единственное значит плохой дизайн.
Так что, если вы спросите меня, я расскажу вам все, что сказал Пекка, с чем я полностью согласен, а также что:
pixels.onkeydown = updateNode;
является естественным утверждением языка сценариев ECMA и:
pixels.addEventListener("keydown", updateNode, true);
является излишним дополнением DOM, которое излишне сбивает с толку многих разработчиков, заставляя их задуматься о том, что произойдет, если вы установите его один раз первым, а какой-нибудь другой скрипт позже может установить его другим способом:)