2

有人可以给我一个 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/

4

1 回答 1

3

你使用findWidgets()不正确。根据 API,它最多接受两个参数:

  1. root-DOMNode搜索下,和
  2. skipNode- 不搜索的节点(可选)。

你用一个字符串调用它,这将返回一个空列表。相反,传入DOMNode你想用来定位小部件的任何节点。myTextBox例如,如果您想使用,您将执行以下操作:

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

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

于 2013-10-10T15:44:33.450 回答