Мой предпочтительный метод - использовать аналог функции $.live
из jquery. F.I. давайте предположим, что вы собираетесь использовать xtemplate для создания простого списка, как показано ниже:
<ul class="nav">
<li><a href="example.com">item1</a></li>
<!-- ... -->
</ul>
Чтобы назначить обработчик якорям, вы должны сделать в jquery что-то вроде:
$('.nav a').live('click', function(){
// do something on anchor click
});
Функция $.live
великолепна, потому что она будет работать, даже если назначение обработчика произойдет до отображения списка. Этот факт чрезвычайно важен при использовании xtemplate.
К счастью, в ExtJs есть аналог - делегирование событий. Просто посмотрите на код:
Ext.getBody().on('click', function(event, target){
// do something on anchor click
}, null, {
delegate: '.nav a'
});
Для получения дополнительной информации посмотрите документы для Ext.Element.addListener
метода.