Email:longsu2010 at yeah dot net
dojo获取组件对象建议使用dijit/registry模块。这是dojo2.0风格的获取方式。
该模块提供了如下一些方法供获取组件对象,这里需要注意获取的不是dom对象。1、byId:根据组件的id获取到组件对象。关于id的确定规则" http://blog.csdn.net/tt361/article/details/8745226"中有提到。
2、byNode:根据dom节点获取组件对象,也就是说这个dom节点不是普通的dom节点,dojo对象生成在该dom节点上。
3、findWidgets:根据dom节点,获取dom节点内部的非嵌套子组件, 返回值为一个数组。如下生成的组件,执行registry.findWidgets(dom.byId("root"))返回的是包含两个form组件的数据,不会包含form内的组件。
<div id="root" data-dojo-type="dijit/layout/ContentPane"> <form id="form1" data-dojo-type="dijit/form/Form"> <input data-dojo-type="dijit/form/TextBox" /> </form> <div> <form data-dojo-type="dijit/form/Form"> <input data-dojo-type="dijit/form/TextBox" /> </form> </div> </div>4、getEnclosingWidget:若知道jquery closest方法,那就好说了,功能类似。给定一个dom对象, 获取该dom祖先组件对象中离该dom节点最近的组件对象。仍以上面的这段html为例,registry.getEnclosingWidget(dom.byId("form1"))将会去到id为root的组件对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。