March 14, 2011

How to disable tab key on window popup/ on ext message alert popup

Add the following code in you js. This will restrict your tab key to work on greyed page or back ground page when window popups

Ext.onReady(function(){
     Ext.getBody().on('keyup', function(e, t)
                {
                    if (e.TAB == e.getKey())
                    {
                        var top_win = Ext.WindowMgr.getActive();
                       
                        if (top_win && top_win.modal)
                        {
                            if (!top_win.getEl().contains(document.activeElement))
                            {
                                var found = false;
                                var first_focus = top_win.findBy(function(cmp, win)
                                {
                                    var ti = cmp.getEl().dom.tabIndex;
                                   
                                    if('hidden' != cmp.getXType() && !cmp.hidden && ti >= 0 && !found)
                                    {
                                        found = true;
                                        return true;
                                    }
                                   
                                    return false;
                                });
                               
                                if (first_focus.length > 0)
                                {
                                    first_focus[0].focus(true);
                                }
                                else
                                {
                                    top_win.focus();
                                }
                            }
                        }
                    }
                }, this);

});

2 comments: