微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-如何在dojo中查询对象类型?

我们可以使用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] 举报,一经查实,本站将立刻删除。

相关推荐