我无法将侦听器添加到从 XTemplate 生成的不同元素中。
var data = {
users: [
{ id: 1, name: 'Ed Spencer' },
{ id: 2, name: 'Abe Elias'}
]
};
var store = new Ext.data.JsonStore({
autoLoad: true,
data : data,
root: 'users',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'}
]
});
var template = new Ext.XTemplate(
'<tpl for=".">',
'<div class="holder">',
'<div class="notclicked">foobar</div>',
'<div class="name">{name}</div>',
'<div class="id">{id}</div>',
'</div>',
'</tpl>'
);
var newPanel = new Ext.Panel({
title: "test",
items: new Ext.DataView({
store: store,
tpl: template,
itemSelector: 'div.holder',
emptyText: 'No foo to display'
})
});
newPanel.render('targetDiv');
我想做的是为“name”div 上的点击创建一个“click”侦听器,为“id”div 创建一个不同的侦听器。但到目前为止,我只能为谁“持有者”div 制作一个“点击”监听器。作为扩展,我希望 div 'notclicked'... 不响应点击。我一直在反对这一点。谁能给我推动正确的方向?
我正在使用 3.4。我在 jsfiddle 上放了一个小提琴:http: //jsfiddle.net/tatagatha/7SfCf/6/