extjs 自定义事件




Object/String... eventNames )

向本Observable可能触发的事件列表中添加指定的事件。

Parameters

  • eventNames : Object/String...

    要么是有事件名作为属性,属性值为 true的对象。例如:

    this.addEvents({
        storeloaded: true,
        storecleared: true
    });

    要么是作为参数的任意个数的事件名。例如:

    this.addEvents('storeloaded', 'storecleared');
  • 
         
         
    String eventName, Object... args ) :  Boolean

    使用传递过来的参数(去掉事件名,加上传递给addListeneroptions对象 )触发指定的事件。

    通过调用enableBubble,一个事件 能被设置为沿着Observable的继承体系(见Ext.Component.getBubbleTarget)向上起泡。

    Parameters

    • eventName : String

      待触发的事件名。

    • args : Object...

      传递给事件处理函数的可变数量的参数

    Returns

    • Boolean

      如果任何一个事件处理函数返回false,就返回false,否则返回true。


示例:
Ext.define('V5.test.view.BarChart', {
extend : 'Ext.chart.Chart',
xtype : 'barchart',
width : 500,
height : 300,
animate : true,
initComponent : function() {
var me = this;
//添加自定义事件
me.addEvents('barclick');
me.store = Ext.create('Ext.data.JsonStore', {
fields : ['name', 'data'],
data : [{
'name' : 'metric one',
'data' : 10
}, {
'name' : 'metric two',
'data' : 7
}, {
'name' : 'metric three',
'data' : 5
}, {
'name' : 'metric four',
'data' : 2
}, {
'name' : 'metric five',
'data' : 27
}]
});
me.axes = [{
type : 'Numeric',
position : 'bottom',
fields : ['data'],
label : {
renderer : Ext.util.Format
.numberRenderer('0,0')
},
title : 'Sample Values',
grid : true,
minimum : 0
}, {
type : 'Category',
position : 'left',
fields : ['name'],
title : 'Sample Metrics'
}];
me.series = [{
type : 'bar',
axis : 'bottom',
highlight : true,
tips : {
trackMouse : true,
width : 140,
height : 28,
renderer : function(storeItem, item) {
this.setTitle(storeItem.get('name') + ': '
+ storeItem.get('data') + ' views');
}
},
melabel : {
display : 'insideEnd',
field : 'data',
renderer : Ext.util.Format.numberRenderer('0'),
orientation : 'horizontal',
color : '#333',
'text-anchor' : 'middle'
},
xField : 'name',
yField : 'data',
listeners : {
itemclick : function() {
//触发自定义事件
me.fireEvent('barclick');
}
}
}]
this.callParent();
}


});

Test.js
Ext.define('V5.test.controller.Test', {
extend : 'Ext.app.Controller',
models : [],
stores : [],
views : ['Grid','V5.test.view.BarChart'],
refs : [{
ref:'BarChart',
selector:'barchart'
}],


init : function() {
var me = this;
this.control({
'barchart':{   
barclick:me.doClick
}

});
},
//实现自定义事件
doClick:function(){
alert('hello world!!');
}

});







  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值