나는 Sencha Touch 응용 프로그램을 작성 중입니다. 나는 패널에서 확장 전망을Sencha touch html div 탭 리스너
컨트롤러에서
Ext.define('MyApp.view.home', { extend : 'Ext.Panel', xtype : 'homeGrid', config : { scrollable: 'vertical', width: '100%', height: '100%', html : '<div></div>' } });
, 나는 서버에서 일부 데이터를 읽은 후, 동적으로이 패널에 항목을 추가하고 뷰 :
컨트롤러 있음
var homeGrid = this.getHomeGrid();
var htmlString = '<ul class="myGrid">';
htmlString = htmlString + '\
<li>\
<div class="gridItem" id="item1">\
<div class="gridIcon">\
<img class="gridIconImage" src="myIcon.png"/>\
</div>\
<div class="gridItemName">\
Item 2\
</div>\
</li>\
<li>\
<div class="gridItem" id="item2">\
<div class="gridIcon">\
<img class="gridIconImage" src="myIcon.png"/>\
</div>\
<div class="gridItemName">\
Item 1\
</div>\
</li>\
<li>\
<div class="gridItem" id="item3">\
<div class="gridIcon">\
<img class="gridIconImage" src="myIcon.png"/>\
</div>\
<div class="gridItemName">\
Item 3\
</div>\
</li>\
'</ul>';
homeGrid.add({
xtype: 'panel',
html : htmlString
});
기본적으로 나는 m 문자열을 연결하고 생성 된 HTML을 사용하여 원본에 새 패널 항목을 추가합니다.
지금까지는 괜찮습니다.
이제 gridItem div에 탭 (클릭) 리스너를 추가해야합니다. 사용자가 gridItem 중 하나를 클릭하면 div가있는 ID로 알림을 표시해야합니다.
어떻게하면됩니까?
는 내가 "의 GridItem"클래스를 참조 컨트롤 추가하려고 :config: {
refs: {
homeGrid: 'emergencyGrid',
gridItem: '.gridItem'
},
control: {
'.gridItem': {
tap: 'onGridItem'
}
}
을하지만 탭 때 onGridItem는 호출되지 않습니다.
컨트롤을 초기화 한 후에 div를 동적으로 추가한다는 것이 문제라고 생각합니다. 패널 안에 div를 삽입 한 후 탭 수신기를 추가하는 방법이 있습니까?
감사합니다 도움이
내가 생각 감사를 I 찾고있어. 집에 돌아올 때까지는 그것을 시도 할 수 없기 때문에 그냥 질문. #homeGrid 요소의 탭을 들으려면 지정했습니다. homeGrid라는 패널의 기본 ID입니까? 아니면 이드에게 이걸 주어야합니까? 감사합니다 – Youssef
귀하의 HTML을 넣는 패널의 ID는 콘텐츠의 상위 ID 일 수 있습니다. – ThinkFloyd