Ext.onReady(function () { Ext.define('User', { extend: 'Ext.data.Model', fields: [ {name: 'name', type: 'string'} ] }); var store = Ext.create('Ext.data.Store', { model: 'User', data: [ {name: 'Homer'}, {name: 'Maggie'} ] }); var view = Ext.create('Ext.view.View', { renderTo: Ext.getBody(), store: store, tpl: [ '<tpl for=".">', '<div class="user">', '<span>{name}</span>', '<input type="button" class="button-action" value="action" />', '</div>', '</tpl>' ], listeners: { itemmousedown: function (me, record, item, index, e) { var className = e.target.className; if ("button-action" == className) { alert("Clicked action on item: " + record.get('name')); } } }, itemSelector: 'div.user' }); });