1
在應用現有的Ext JS代碼,組合框被重寫這樣的:extjs combo override:爲什麼要定義this.addevents()?
Ext.override(Ext.form.ComboBox, {
nullable:true
,initComponent: Ext.form.ComboBox.prototype.initComponent.createSequence(function(){
this.triggerConfig = {
tag:'span', cls:'x-form-twin-triggers', cn:[
{tag: "img", src: Ext.BLANK_IMAGE_URL, cls:'x-form-trigger '},
{tag: "img", src: Ext.BLANK_IMAGE_URL, cls:'x-form-trigger x-form-clear-trigger'}
]};
this.addEvents(
'clear',
'change'
);
}})
爲什麼我們需要定義:
this.addEvents(
'clear',
'change'
);
「變」已經被定義爲一個事件對於extjs中的組合框。 'clear'在extjs中沒有定義。
編輯:也許實際例子參考幫助:這是。 http://www.sencha.com/forum/showthread.php?84300-Nullable-ComboBox&p=404222&langid=14
確實。定義`change`有點奇怪,因爲無論如何它都會繼承`Ext.form.Field`。就「明確」而言,也許它正在其他地方使用。 JavaScript給了你一個討厭的可能性來傳播你的定義,所以它可能並不明顯。 – Mchl 2011-02-04 21:04:30