如何在道场对象类型的查询?(How to query on object type in dojo?

2019-07-31 01:41发布

我们可以使用dojo.query获得基于CSS选择器中的某些元素,但我们如何在查询对象类型?
例如,获得页面上的所有文本框元素,然后使用dojo.connect绑定的功能?

Answer 1:

这是不完全的支持,但也有做这件事,因为我看到它的两种方式。

一,找出哪些是一个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 ,测试declaredClass ,如果dijit.form.TextBox -连接。

var textboxArray = dojo.filter(dijit.registry._hash, function(widget) {
  return widget.declaredClass && widget.declaredClass == 'dijit.form.TextBox';
})

根据您的设置,选择最有效的一个。 后者通常是最好的 - 除非你有小部件100在您的网页。 首先必须XPATH页面的所有元素。 Allthough,请记住,dojo.query需要第二个参数为“parentNode”



文章来源: How to query on object type in dojo?