【发布时间】:2020-03-11 19:58:50
【问题描述】:
我有一个数据视图,用 extjs 7.1 现代 takeit 编写,带有一个带有 anchor 标签 和 select 事件的模板:
https://fiddle.sencha.com/#view/editor&fiddle/34bd
Ext.create({
renderTo: document.body,
xtype: 'list',
itemTpl: '<div class="contact"><a onclick="event.preventDefault();console.log(\'link\');" href="{firstName}">{firstName}</a> <b>{lastName}</b></div>',
store: {
data: [{
firstName: 'Peter',
lastName: 'Venkman'
}, {
firstName: 'Raymond',
lastName: 'Stantz'
}, {
firstName: 'Egon',
lastName: 'Spengler'
}, {
firstName: 'Winston',
lastName: 'Zeddemore'
}]
},
listeners: {
select() { console.log('select'); }
}
});
我希望链接事件会在列表选择事件之前触发,但相反的情况会发生,甚至最坏的情况是两个事件会一个接一个地触发。
【问题讨论】:
-
在您的小提琴示例中,itemtap 自 6.5.0 版起已弃用,使用 childtap。关于您的期望,为什么您不能在 childtap 事件中编写链接逻辑?
-
如果用户单击特定链接或整个列表项,我需要执行不同的操作。
-
我正在尝试按照您的建议了解用户点击的位置,但我不知道如何。可以在 sencha fiddle 中查看代码:fiddle.sencha.com/#view/editor&fiddle/34bd
标签: javascript extjs extjs7