<div dojoType="dojo.Dialog" id="alarmCatDialog" bgColor="#FFFFFF"
bgOpacity="0.4" toggle="standard">
<div class='dijitInline'>
<input type='input' class='dateWidgetInput'
dojoAttachPoint='numberOfDateNode' selected="true" />
</div>
如何显示此对话框我尝试dijit.byId('alarmCatDialog').show();
上面的代码是一个模板,我从.js文件中调用了dijit.byId('alarmCatDialog').show()
。
答案 0 :(得分:1)
dojoAttachPoint
用于模板中,可以使用属性值在窗口小部件中访问。
因此,如果您发布的html用于小部件模板,那么您应该使用dojoAttachPoint
。在小部件的js文件中:
dojo.declare("MyWidget", [dijit._Widget, dijit._Templated], {
alarmCatDialog: null, // the dialog widget will be attached to this field.
templateString: dojo.cache(...),
widgetsInTemplate: true,
postCreate: function() {
this.inherited(arguments);
this.alarmCatDialog.show();
}
});
您不应在窗口小部件中使用id,因为ID必须在所有dom节点中都是唯一的。在窗口小部件中使用它会限制窗口小部件在页面上的使用。
此外,由于模板中有小部件,因此您应使用widgetsInTemplate: true
http://dojotoolkit.org/reference-guide/1.7/dijit/_Templated.html#widgetsintemplate