当前位置 : 主页 > 网页制作 > Dojo >

dojo获取组件(组件对象)的方法总结

来源:互联网 收集:自由互联 发布时间:2021-06-15
Email:longsu2010 at yeah dot net dojo获取组件对象建议使用dijit/registry模块。这是dojo2.0风格的获取方式。 该模块提供了如下一些方法供获取组件对象,这里需要注意获取的不是dom对象。 1、by

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的组件对象。
网友评论