我正在使用 extjs 3 构建自己的类(许可证问题)
Ext.ux.MyClass = Ext.extend(Ext.Container, {
initComponent: function() {
this.button = new Ext.Button({
scope:this,
text:'my button',
handler: function() {
alert(0);
this.fireEvent('myevent');
}
});
this.addEvents('myevent');
}
});
//in the code:
var obj = new Ext.ux.MyClass(...);
obj.on('myevent', function () {alert(1);});
事件没有被触发代码没有给出错误我可以看到警报(0)但不是警报(1);
我尝试了监听器但也没有工作,this.fireEvent 返回 true。
谢谢你的帮助
最佳答案
您使用的是什么版本的 ExtJS 3? 3.0、3.1 还是 3.4?
如果它是 3.4,那么它似乎对我有用。我添加了一些额外的代码只是为了让按钮呈现,但对我来说似乎没问题。
我使用的最终代码是:
Ext.onReady(function(){
Ext.ux.MyClass = Ext.extend(Ext.Container, {
initComponent: function() {
this.button = new Ext.Button(
{
renderTo: document.body,
scope:this,
text:'my button',
handler: function() {
alert(0);
this.fireEvent('myevent');
}
});
this.addEvents('myevent');
}
});
var obj = new Ext.ux.MyClass();
obj.on('myevent', function () {alert(1);});
});
在这里查看 jsfiddle:http://jsfiddle.net/J9YcL/
如果有任何不同,我会在 Chrome 中运行。
关于javascript - this.fireEvent 不工作 extjs3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257978/