Javascript appendChild复选框onclick未运行

Javascript appendChild复选框onclick未运行,javascript,html,Javascript,Html,我使用以下代码创建一个复选框。我希望复选框调用另一个函数。问题是,当创建复选框时,它会运行函数,然后在单击时不运行 var cb = document.createElement('input'); cb.type = 'checkbox'; cb.onclick = newfunction(); cb.name = "done"; cb.value = "done"; theCell.appendChild(cb); 如何修复此问题,以便创建一个复选框,然后在单击时使其运行函数。我正在使用i

我使用以下代码创建一个复选框。我希望复选框调用另一个函数。问题是,当创建复选框时,它会运行函数,然后在单击时不运行

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

如何修复此问题,以便创建一个复选框,然后在单击时使其运行函数。我正在使用ie8和Firefox8。谢谢大家!

您正在执行
newFunction
,而不是分配它

删除
()

或者,如果需要将参数传递给
newFunction
,请将其包装在匿名函数中:

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

您正在执行
newFunction
,而不是分配它

删除
()

或者,如果需要将参数传递给
newFunction
,请将其包装在匿名函数中:

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

也许我错了,但你应该这样使用它:

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


也许我错了,但你应该这样使用它:

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


你只打了2秒钟:)谢谢詹姆斯!问:为什么需要匿名功能?你只打了2秒钟:)谢谢詹姆斯!问:为什么需要匿名函数?