Я работаю над приложением sencha touch. У меня есть мнение, что простирается от панелиSencha touch html div tap прослушиватель
Вид
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
});
В основном я просто генерировать HTML сюда m конкатенированной строки и добавить новый элемент панели в оригинал с созданным HTML.
До сих пор все работает нормально.
Теперь мне нужно добавить прослушиватель (щелчок) к элементу gridItem, когда пользователь нажимает на один из элементов gridItems, мне нужно показать предупреждение с идентификатором div, записанным на пленку.
Как я могу это сделать?
Я пытался добавить элемент управления, которые ссылаются на класс «GridItem»:
config: {
refs: {
homeGrid: 'emergencyGrid',
gridItem: '.gridItem'
},
control: {
'.gridItem': {
tap: 'onGridItem'
}
}
Но onGridItem никогда не вызывается, когда я нажимаю.
Я думаю, проблема в том, что я добавляю divs динамически после инициализации элемента управления. Есть ли способ добавить прослушиватель крана после того, как я ввел div внутри панели?
Большое спасибо за любую помощь
Спасибо вам, я думаю, что это то, что я Я ищу. Просто вопрос, потому что я не могу попробовать, пока не вернусь домой. Вы указали, чтобы прослушать нажатие на элементе #homeGrid. Это идентификатор по умолчанию для панели, которая называется homeGrid? или я должен дать ему этот идентификатор? Спасибо – Youssef
Это идентификатор панели, в которую вы помещаете свой HTML, это может быть идентификатор любого родителя вашего контента. – ThinkFloyd