У меня есть следующий код:Как выполнить функцию связи щелчку в DataView в ExtJS
xtype: 'dataview',
//title: 'test',
preventHeader: true,
height: 100,
bodyPadding: 10,
tpl: new Ext.XTemplate(
'<tpl for=".">',
'<a href="#">{name}</a>',
'</tpl>'
),
store: new RateManagement.store.ServiceStore(),
itemclick: function(this, record, item, index, e, eOpts) {
console.log(this);
}
Я пытаюсь вывести текст выбранной ссылки на консоль; Однако, я получаю эту ошибку:
Uncaught SyntaxError: Unexpected token this
Вот jsfiddle:
Как я могу запустить код, когда пользователь нажимает на ссылку в окне просмотра данных?
Реф. http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.view.View-event-itemclick
Редактировать: Это мой фактический код (немного отличный от jsfiddle).
xtype: 'dataview',
itemSelector: 'a.serviceLink',
tpl: tpl2,
store: new RateManagement.store.ServiceStore(),
listeners:{
"itemclick": function(dataview, record) {
console.log(dataview);
}
}
И, переменная tpl2
определяется как:
var tpl2 = new Ext.XTemplate(
'<tpl for=".">',
'<a href="#">{name}</a>',
'</tpl>'
);
Я вижу, что это работает на скрипке, но мой код немного отличается от этого примера. Я использую 'itemSelector'. По какой-то причине я ничего не заводил на консоль, и я не получаю никаких ошибок. Я обновил вопрос с помощью своего фактического кода. – user1477388
Ну, элемент itemSelector, похоже, не имеет события «itemclick», поэтому, вероятно, поэтому он не работает! См. Документацию здесь: http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.ux.form.ItemSelector У меня нет опыта работы с этим компонентом, поэтому я не уверен, что решение есть. У вас есть JSFiddle? – user1578653
Да, вот скрипка http://jsfiddle.net/k4ggq/3/. В консоли нет ошибок. Я попробовал использовать код вашей скрипки, но ExtJS жалуется и говорит: «Вы должны указать« itemSelector »и« tpl ». – user1477388