2017-12-04 63 views
0

div를 동적으로 생성합니다.은 Dojo에서 작성하는 동안 div에 닫기 버튼을 제공합니다.

var item = domConstruct.create("div", null, test); 
item.innerHTML = "New Div"; 

작성시 "새 사업부"라는 레이블이있는 div가 생성됩니다. 나는 사용자가 생성 후에 div를 삭제할 수 있도록 div와 close 버튼에 이름을 추가하기를 원한다. Image of div with edit and delete button

이 문제에 대한 도움이 될 것입니다.

감사 쿠마 같은 템플릿 위젯이 더 나은 방법이 될 수있는 모든 컨트롤 등의 사업부를 정의 내 관점에서

+0

당신을 수 지금까지 시도한 것을 알려주십시오. –

+0

if (domClass.contains (evt.target, "esriAddBookmark")) { var bmTable = _bookmark.Bookmarks; '+ _bookmark.sceneview.extent.xmax +', '+ _bookmark.sceneview.extent.ymin +', '+ _bookmark.sceneview.extent.spatialReference.wkid; var item = domConstruct.create ("div", null, bmTable); item.innerHTML = "새 북마크"; –

답변

0

. domConstruct 대신 템플릿 기반 위젯의 새 인스턴스를 만들어야합니다. 위젯 내부에서 div를 삭제하기 위해 이벤트를 닫기 버튼에 첨부 할 수 있습니다. 이 같은 :

MyDiv.js

define([ 
    "dojo/_base/declare", 
    "dijit/_WidgetBase", 
    "dijit/_TemplatedMixin", 
    "dojo/text!MyDiv.html" 
], function (
    declare, 
    _WidgetBase, 
    _TemplatedMixin, 
    template 
) { 
    return declare("MyDiv", [_WidgetBase, _TemplatedMixin], { 
     templateString: template, 
     deleteDiv: function() { 
      //do some stuff 
      this.destroy(); //destroy widget and its dom node 

     } 
    }); 
}); 
MyDiv.html은 다음과 같이 보일 수 있습니다

:

여기
<div> 
    <span>Some text</span> 
    <span data-dojo-attach-event="click: deleteDiv">Close Me</span> 
</div> 

이 주제에 도장 문서에 링크 : _TemplatedMixin