Показать сообщение отдельно
  #6 (permalink)  
Старый 26.12.2008, 04:40
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Когда вы описываете обработчик вот так:
element.onclick = somefunction();

То в момент объявления вызывается функция somefunction и обработчику присваивается лишь её результат, а не сама функция.

В данном случае верное присвоение:
element.onclick = somefunction;

Но таким способом невозможно передать параметр.

Поэтому, используется замыкание для вызова нужной функции с параметрами:
element.onclick = function() {
    somefunction(1);
}
Ответить с цитированием