Как вы прикрепляете события клика к элементам шаблона ExtJS? - PullRequest
5 голосов
/ 09 января 2012

Как мне добавить событие щелчка для каждого тега ссылки в этом, кроме встроенного onclick=.... в 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'}
]);

1 Ответ

7 голосов
/ 10 января 2012

Короткий ответ: нет. Вместо этого вы должны использовать делегирование события:

Ext.get('someElement').on('click', function(event, target) {
    console.log(target);
}, null, {delegate: 'a'});

Это имеет 2 основных преимущества:

  1. Вам нужно привязать только одного слушателя
  2. Это будет работать при динамическом изменении содержимого
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...