Javascript 新的dijit.form.Button在声明时保持自动单击

Javascript 新的dijit.form.Button在声明时保持自动单击,javascript,ajax,dojo,Javascript,Ajax,Dojo,我试图以编程方式将dijit.form.Button插入到一些HTML中,我的代码如下所示: row.innerHTML = '<td>Name:</td><td id="showname" />'; var showButton = new dijit.form.Button({ label: "Show name", style: "float: right", onClick: show_name(), }, "showname"

我试图以编程方式将dijit.form.Button插入到一些HTML中,我的代码如下所示:

row.innerHTML = '<td>Name:</td><td id="showname" />';
var showButton = new dijit.form.Button({
    label: "Show name",
    style: "float: right",
    onClick: show_name(),
}, "showname")
row.innerHTML='Name:';
var showButton=新的dijit.form.Button({
标签:“显示名称”,
样式:“浮动:右”,
onClick:show_name(),
}“展示名称”)
但每次我刷新和更新页面时,它都会自动运行show_name(),这不是我想要的。有谁能告诉我为什么会发生这种情况,以及我如何修复它,使show_name()只在单击按钮时运行


谢谢。

试试看
show_name
,或者
function(){show_name();}


我的解释是,您需要一个函数引用,而不是函数调用,它将返回值(可能没有)传回给
onClick
。第一个选项在没有参数传递的情况下有效,第二个选项可以将任何内容传递到
show_name()

试试
show_name
,或者
function(){show_name()}
Javascript以神秘的方式工作。作为答案,这两个选项都有效,谢谢大家。原来JS把它当作一个函数调用,而不是一个参数定义。谢谢!