如何将单击事件附加到ExtJS模板元素? [英] How do you attach click events to ExtJS template elements?

查看:71
本文介绍了如何将单击事件附加到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'});

这有两个主要优点:

  1. 您只需要绑定一个侦听器
  2. 它将在您动态修改内容时起作用

这篇关于如何将单击事件附加到ExtJS模板元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆