2013-02-04 3 views
0

안녕 오브젝트의 이름을 지정하고 오브젝트의 인스턴스를 삭제하는 방법은 무엇입니까? jsfiddledojo 1.8 - 오브젝트의 이름을 지정하고 인스턴스를 삭제하십시오.

declare("obj_Button", [_WidgetBase], { 
     buildRendering: function() { 
      // create the DOM for this widget 
      this.domNode = domConstruct.create("button", { 
       innerHTML: "New Button Instance" 
      }); 
     } 
    }); 

    on(dom.byId('btn1'), "click", function(evt) 
    { 
     (new obj_Button()).placeAt(dom.byId('id')); 
     //name the instance 
    }); 

    parser.parse(); // check out more! 

    on(dom.byId('btn2'), "click", function(evt) 
    { 
    // destroy the instance by name, not object 
    }); 

my working를 참조하십시오 알려 주시기 바랍니다. 위젯의 ID를 알고있는 경우 감사

답변

2

, 위젯을 얻을 "는 Dijit/레지스트리"를 사용할 수 있습니다 다음, 그것을 파괴 :

require(["dijit/registry"], function(registry) { 
    registry.byId("myWidgetId").destroyRecursive(); 
}); 

을 경우에만 DOM 노드의 ID를 알고있는 경우 registry.findWidgets() (위젯이 dom 노드의 자식 인 경우) 또는 registry.getEnclosingWidget() (dom 노드가 위젯의 자식 인 경우)을 수행 할 수 있습니다.

http://dojotoolkit.org/reference-guide/1.8/dijit/registry.html#finding-all-widgets-underneath-a-dom-node

+0

안녕하세요. 링크로 안내해 주셔서 감사합니다. 새로운 인스턴스를 생성 할 때 인스턴스의 ID를 강제로 명명하는 또 다른 방법이 있습니다. 그런 식으로 인스턴스를 자체 ID로 파괴 할 수 있습니다. 당신이 옳다면 나는 id를 안다. 고마워요. – user1739825

+0

안녕하세요, 새 버튼을 만들 때마다 다른 버튼으로 모든 버튼에 어떻게 라벨을 붙니까? – user1739825

관련 문제