Во-первых, другие хорошо объяснили корни вашей проблемы.
Но для записи, отвечая на ваш оригинальный вопрос, вам нужно: addEventListener . Это ненавязчивый, красивый и современный способ прикрепления событий в Javascript. Работает в любом современном браузере (не в IE9, для этих IE вам нужно attachEvent ).
Так, например, используя addEventListener, вы назначаете события как:
var elem = document.getElementById("fos");
elem.addEventListener("keydown", whateverFunction, false);
Вы также можете использовать простой способ (elem.onkeydown=whateverFunction;
), но я не рекомендую вам это делать. С помощью addEventListener вы можете назначить несколько обработчиков одному и тому же событию и не можете случайно перезаписать другое событие, назначенное вами или сценарием библиотеки / стороннего разработчика.