16.09.2011, 03:07
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
http://javascript.ru/tutorial/events/intro
Цитата:
|
Частая ошибка новичков
Обратите внимание - свойству присваивается именно сама функция-обработчик doSomething, а не doSomething():
document.getElementById('button').onclick = doSomething
doSomething() - это результат запуска функции, а так как вызова return в ее коде нет, то этот результат будет undefined.
Сравните это с атрибутом. Там - наоборот, скобки нужны:
<input type="button" id="mybutton" onclick="doSomething()"/>
Это различие легко объяснить. Дело в том, что при назначении onclick в HTML браузер автоматически создает функцию-обработчик из содержимого кавычек. Получается, что последний пример - это по сути то же самое, что:
document.getElementById('mybutton').onclick = function() {
doSomething() // внутри автосозданной функции
}
|
нужно вместо window.onload = podcut('cut4'); писать window.onload = function() { podcut('cut4'); };
|