【问题标题】:get all widgets inside an element获取元素内的所有小部件
【发布时间】:2010-05-31 08:42:50
【问题描述】:

dijit.registry 上的dojo documents,我看到forEach 方法接受最后一个参数thisObject。但这并不代表那个对象是什么。它是 dijit 小部件还是 dojo 对象?

我想销毁一个元素内的所有小部件(将被 AJAX 替换),以便可以再次解析它们而不会发生 id 冲突。

dijit.registry.forEach(function(w) {
    w.destroyRecursive();
}, dojo.byId("ajaxElement"));

但这会破坏页面上的所有小部件...

【问题讨论】:

标签: dojo


【解决方案1】:

thisObject 是作用域对象,用于调用作为forEach 的第一个参数传入的函数。

您可以在这种情况下使用几个解决方案:

1) 使用dijit.findWidgets 查找一个DOM节点中的所有dijit,并一一销毁。 dijit.findWidgets 返回以 domnode 作为参数的小部件数组 2) dojo.parser.parse 返回它创建的所有 dijit 的数组,存储该数组并在再次调用 dijit.parser.parse 之前销毁 dijit。

3) 使用dijit.registry.filter 过滤掉要保留的dijit。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 2015-03-10
    • 2015-02-06
    • 2022-01-07
    相关资源
    最近更新 更多