加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dojoAttachpoint和id之间的区别

发布时间:2020-12-16 21:19:35 所属栏目:百科 来源:网络整理
导读: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 如何显示这个对话框
<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().

dojo.attr(this.numberOfDateNode)这段代码有效,我得到了数据.但如果我将dojoattachpoint改为id,那么我尝试dijit.byId(‘numberOfDateNode’)将无效;

解决方法

您的numberOfDateNode是一个普通的DOM节点,而不是widget / dijit,即扩展dijit / _Widget的javascript对象,这是您无法通过dijit.byId(“numberOfDateNode”)获取对它的引用的原因.使用dojo.byId(“numberOfDateNode”)代替,你就完成了.

在dijit模板中使用dojoAttachPoint或其HTML5有效版本数据-dojo-attach-point将对DOM节点或子dijit的引用附加到dijit javascript对象,这就是dijit.byId(‘alarmCatDialog’)的原因.numberOfDateNode具有对< input type ='input'class ='dateWidgetInput'... />的引用.

使用data-dojo-attach-point的主要原因是:

>您可以创建多个dijit实例,因此您的模板无法通过ID识别节点/ dijit,因为您将拥有多个具有相同ID的节点/ dijit>这是一种优雅的声明方式,所以你的代码不会充满dijit.byId / dojo.byId.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读