почему джаваскрипт по onclick срабатывает, а так нет?
document.getElementsByClassName('cl0')[0].onkeydown=function(){
фдуке (66);
}
document.getElementsByClassName('cl0')[0].onkeydown=function(){
фдуке (66);
}
Так - это как?
В head вставляете и в него этот код - и тогда он не работает?
Дело в том, что выполняется до того, как DOM (html) успевает загрузиться, а пока DOM не загружен, document.getElementsByClassName ничего не возвращает.
Используйте в этом скрипте событие window.onload - оно срабатывает, когда DOM уже загружен.
Потому что без onclick
скрипт не знает, когда он должен сработать.
Необязательно именно
onclick. Можно написать другой вариант - например, чтоб сработал как только загрузится документ, или по сигналу таймера, или в определенный день и час.
Но как-то указать это надо, чтоб скрипт срабатывал, когда нужно.
А
onclick - для скриптов, которые должны сработать только после нажатия кнопки.
Например, есть кнопка Зарегистрироваться.
Один юзер хочет регистрироваться. Нажал - перед ним всплыло окошко с формой.
А другой не хочет и кнопку не нажимает, и если это окошко все равно всплывет. загораживая контент, он будет недоволен.
onkeydown - не для мышки 
onmousedown - вот для нажатия кнопок мыши