我们可以使用dojo.query来获取基于CSS选择器的某些元素,但是如何查询对象类型呢?
例如,获取页面上的所有TextBox元素,然后使用dojo.connect绑定功能?
解决方法:
尚不完全支持此功能,但是正如我所见,有两种方法可以做到这一点.
一个,找出哪个是TextBox(.dijitTextBox)的唯一类,调用dojo.query(‘.dijitTextBox’),循环结果dojo.forEach并使用dijit.getEnclosingWidget(domnode)获取小部件
var textBoxArray = [];
dojo.forEach(dojo.query('.dijitTextBox'), function(domnode) {
textBoxArray.push(dijit.getEnclosingWidget(domnode));
});
或两个,循环dijit.registry._hash,测试声明的类,如果其dijit.form.TextBox-连接.
var textBoxArray = dojo.filter(dijit.registry._hash, function(widget) {
return widget.declaredClass && widget.declaredClass == 'dijit.form.TextBox';
})
根据您的设置,选择最有效的一种.后者通常是最好的-除非您的页面中有100个小部件.第一个将必须xpath页面的所有元素.尽管如此,请记住dojo.query使用第二个参数作为“ parentNode”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。