2012-01-24 5 views
1

Для создания флажка используется следующий код. Я хочу, чтобы флажок вызывал другую функцию. Проблема в том, что при создании флажка он запускает эту функцию и не запускается при нажатии.Флажок appendChild Javascript onclick не работает

var cb = document.createElement('input'); 
cb.type = 'checkbox'; 
cb.onclick = newfunction(); 
cb.name = "done"; 
cb.value = "done"; 
theCell.appendChild(cb); 

Как исправить это, чтобы создать флажок, а затем запустить его функции при нажатии. Я использую ie8 и Firefox 8. Спасибо!

ответ

5

Выполнение: newFunction вместо его назначения.

Удалить ():

cb.onclick = newfunction; 

С другой стороны, если вам нужно передать параметры newFunction, завернуть его в анонимную функцию:

cb.onclick = function(){ 
    newfunction("something"); 
}; 
+1

вы избили всего лишь 2 секунды :) – albanx

+0

Большое вам спасибо! – Zombian

0

Может быть, я ошибаюсь, но вы должны использовать его как это:

cb.onclick = newfunction;//NO BRACKETS in this case 

or

cb.onclick = function() { newfunction(); } 
Смежные вопросы