如何将单击事件附加到ExtJS模板元素? [英] How do you attach click events to ExtJS template elements?
本文介绍了如何将单击事件附加到ExtJS模板元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
除了将onclick=....
内置到XTemplate中之外,我如何向其中的每个链接标记添加click事件?
How would I add a click event to each link tag in this other than by building in onclick=....
into the XTemplate?
new Ext.XTemplate(
'<ul>',
'<tpl for="."><li><a href="#{anchor}">{text}</a></li></tpl>',
'</ul>'
).overwrite('someElement', [
{ text: 'Click me', anchor: '1' },
{ text: 'No, click me', anchor: '2'}
]);
推荐答案
最简单的答案是,你没有.相反,您应该使用事件委托:
The short answer is, you don't. Instead, you should use event delegation:
Ext.get('someElement').on('click', function(event, target) {
console.log(target);
}, null, {delegate: 'a'});
这有两个主要优点:
- 您只需要绑定一个侦听器
- 它将在您动态修改内容时起作用
这篇关于如何将单击事件附加到ExtJS模板元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文