gpt4 book ai didi

javascript - 如何在ExtJS中的数据 View 中点击链接执行函数

转载 作者:行者123 更新时间:2023-11-28 13:35:27 26 4
gpt4 key购买 nike

我有以下代码:

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://jsfiddle.net/k4ggq/1/

当用户单击数据 View 中的链接时,如何运行代码?

引用号。 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>'
);

最佳答案

马特是正确的,你不能在函数中使用“this”。您还需要将其添加为监听器,就像我在这里所做的那样:http://jsfiddle.net/k4ggq/2/

listeners:{
"itemclick": function(dataview, record) {
console.log(dataview);
}
}

这至少会向控制台记录一些内容。

更新

如果您指定“itemSelector”配置选项,则需要确保这反射(reflect)在“tpl”配置选项中。例如,如果 itemSelector 是“a.serviceLink”,则您的 tpl 需要类似于:

new Ext.XTemplate(
'<tpl for=".">',
'<a href="#" class="serviceLink">{name}</a>',
'</tpl>'
)

请参阅此处的工作示例:http://jsfiddle.net/k4ggq/4/

关于javascript - 如何在ExtJS中的数据 View 中点击链接执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21758570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com