我正在使用extjs4 MVC。我遇到了一个问题,那就是我必须在extjs4中捕获事件点击超链接。我想在控制器'控制'方法中捕获该事件。我尝试了很多,但没有得到解决请一些人提出如何解决这个问题的建议。
1)这是我的一些视图代码: -
Ext.define('AM.view.user.linkView', {
extend:'Ext.form.Panel',
alias:'widget.Link',
title:'hyper link',
items:[
{
xtype: 'box',
autoEl: {tag: 'a', href: '#', html: 'Click on this button',id:'link'}
}]
});// End of login class
2)这是我的控制器代码:---
Ext.define('AM.controller.Users', {
extend: 'Ext.app.Controller',
views: ['user.linkView'],
init: function() {
this.control({
'Link box[tag: a]':
click:this.linkClicked
});
},
linkClicked:function()
{
console.log("clicked on link");
}
});
我试了很多。但是没有解决这个问题。我怎么能解决这个问题请给出一些建议......
答案 0 :(得分:2)
Ext.define('AM.view.user.linkView', {
extend:'Ext.form.Panel',
alias:'widget.Link',
name:'linkPanel',
title:'hyper link',
items:[
{
xtype: 'box',
autoEl: {tag: 'a', href: '#', html: 'Click on this button',id:'link'}
}]
});// End of login class
在控制器中使用以下代码
var controller = this;
controller.control({
'linkPanel': {
afterrender: function() {
Ext.get('link').on('click', function() {
controller.linkClicked();
});
}
}
});
这将有效!!!!
由于