dojo的registry.findWidgets()的一个工作示例

时间:2013-10-10 14:53:56

标签: javascript dojo

有人能给我一个dojo 1.7 +中的registry.findWidgets()的工作示例吗?

无论我做什么,我都得到一个空阵列。例如:

var myTextBox = new TextBox({
    name: "firstname",
    value: "",
    placeHolder: "type in your name"
}).placeAt("root"); 
myTextBox.startup();  

console.log(registry.findWidgets('root'));

http://jsfiddle.net/FYYqx/1/

1 个答案:

答案 0 :(得分:3)

您错误地使用了findWidgets()。根据API,它最多接受两个参数:

  1. root - 要搜索的DOMNode
  2. skipNode - 不在(可选)下搜索的节点。
  3. 您正在使用字符串调用它,该字符串将返回一个空列表。相反,传入要用于定位窗口小部件的任何节点的DOMNode。例如,如果您想使用myTextBox,那就是您要做的事情:

    console.log(registry.findWidgets(dom.byId("root")));
    

    请注意,这只会返回第一级小部件 - 它不会递归地下降到小部件结构中。如果要下载窗口小部件树,则必须自行实现。