कुछ कामकाज किया, मेरे लिए काम कर रहा है, इसे जांचें और कृपया मुझे बताएं। यदि फोकस खिड़की घटक तो यह पहले एक करने के लिए आवंटित किया जाएगा फिर से पिछले तत्व से बाहर जा रहा है
/* ***For activation of Tab Key only to the active panel****/
Ext.EventManager.on(Ext.getBody(), 'keydown', focusListenerLogin, Ext.getBody());
Ext.EventManager.on(Ext.getBody(), 'keyup', focusListenerLogin, Ext.getBody());
Ext.EventManager.on(Ext.getBody(), 'keypress', focusListenerLogin, Ext.getBody());
Ext.EventManager.on(Ext.getBody(), 'focusin', focusListenerLogin, Ext.getBody());
/***Here the Function is defined.***/
function focusListenerLogin(e) {
if(typeof Ext.WindowManager.getActive() !== 'undefined' && Ext.WindowManager.getActive() !== null) {
var activeWinId = Ext.WindowManager.getActive().getId();
var obj = Ext.getCmp(activeWinId);
var id = typeof obj.focusEl !=='undefined' ? obj.focusEl.id : obj.id;
window.prevFocus;
var dom = activeWinId;
var components = [];
Ext.Array.each(Ext.get(dom).query('*'), function(dom) {
var cmp = Ext.getCmp(dom.id);
if(cmp && cmp.isVisible()) {
if (cmp && cmp.btnEl && cmp.btnEl.focusable())
components.push(cmp.btnEl);
else if(cmp && cmp.inputEl && cmp.inputEl.focusable())
components.push(cmp.inputEl);
}
});
if (typeof obj != 'undefined' && obj.isVisible() && obj.el.id === activeWinId && (typeof e.keyCode!== 'undefined' ? e.keyCode === 9 : true)) {
var focused = document.activeElement;
if (!focused || focused === document.body){ focused = null;}
else if (document.querySelector) focused = document.querySelector(":focus");
if(typeof window.prevFocus !=='undefined' && window.prevFocus !== null && focused !== window.prevFocus && components.length>0 && window.prevFocus.id === components[components.length-1].id) {
Ext.getCmp(id).focus();
window.prevFocus = document.activeElement;
}
else if(components.length==0) {
Ext.getCmp(id).focus();
window.prevFocus = document.activeElement;
}
else
window.prevFocus = focused !== null ? focused : window.prevFocus;
}
return false;
}
}
तर्क
है।
यदि विंडो में कोई फोकस सक्षम तत्व नहीं है तो फोकस केवल विंडो पर ही रहेगा।
कृपया मुझे बताएं कि कोड के इस टुकड़े आप मदद करता है।
स्रोत
2012-12-21 10:46:39
यह बग अभी भी ExtJS संस्करण 5.0.1.1255 पर मौजूद है। कोई सुझाव? – dataol