2012-05-17 31 views
0

我正在使用extjs 4.0.7。當用戶使用Combobox時,我想禁用選項卡和Enter鍵事件。我試圖使用keyUp和KeyDown事件。但我沒有得到任何警覺。extjs 4 combobox,如何禁用選項卡並輸入密碼

這裏是我的代碼:

{ 
    xtype: 'combo', 
    store: ds, 
    id:'UserBO_SelectComponentId', 
    displayField: 'displayName', 
    valueField: 'userId', 
    typeAhead: false, 
    hideLabel: true, 
    disabled: false, 
    hideTrigger:true, 
    multiSelect:true, 
    delimiter: ";", 
    anchor: '100%', 
    triggerAction: 'all', 
    listeners: { 
    change: function(comboField, newValue, oldValue, eOpts){ 
     selectUserCallBack2(newValue,'UserBO_SelectComponentId',comboField,oldValue); 
    }, 
    select:function(comboField,oldValue){ 
     testRec(comboField,oldValue) 
    }, 
    keypress:function(comboField,e){ 
     disabledKeysOnKeyup(comboField,e) 
    } 
    }, 
    listConfig: { 
    loadingText: 'Searching...', 
    enableKeyEvents: true, 
    emptyText: 'No matching posts found.' 
    }, 
    pageSize: 10 
} 

任何人都可以請建議這裏有什麼問題嗎?

回答

2

只有當enableKeyEvents設置爲true時,keyup,keydown和keypressed事件纔會觸發。默認設置爲false,因此您需要將enableKeyEvents:true添加到組合框配置中。然後對輸入和製表鍵進行特殊處理。

+0

我現在看你使用的列表中的配置enableKeyEvents,這個配置是ext.view.Boundlist,你需要直接在組合框中配置 – nscrob

+0

使用它,我已經試過也,但仍不工作 – Anup

+0

我爲你製作了這個例子http://jsfiddle.net/nscrob/jZkHp/24/,向你展示如何處理標籤和輸入事件,但是標籤事件導致組合失去焦點,所以你應該嘗試做一個解決方法來避免這種情況。 – nscrob