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

最佳答案

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


root-要搜索的DOMNode,以及
skipNode-不搜索的节点(可选)。


您正在使用字符串进行调用,这将返回一个空列表。而是传递要用于定位小部件的任何节点的DOMNode。例如,如果要使用myTextBox,则可以执行以下操作:

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


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

关于javascript - dojo的registry.findWidgets()的工作示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19299206/

10-12 16:08