2

DIV 内に含まれるすべてのウィジェットを破棄するには? 添付されたコードは、囲んでいる要素が Dojo ウィジェット (フォームなど) である場合にうまく機能します。
繰り返しますが、すべてのウィジェットを登録解除する方法は、DIV などの DOM 要素内に含まれています。

require(["dojo/ready"], function(ready) {
        ready(function(){
         var parentNode = dijit.byId('enclosingDivId');
            if (parentNode) {
               parentNode.destroyRecursive(true);
            }
        });
    })
4

1 に答える 1

1

dijit/registry documentation に基づいて、次のようなことをお勧めします。

require(["dojo/_base/array", "dijit/registry"], function(arrayUtil, registry){
    var formWidgets = registry.findWidgets(someNode);
    formWidgets.forEach(function (widget) {
        widget.destroyRecursive();
    }); 
});
于 2012-11-12T18:50:26.273 に答える