dijit.Dialog._onKey
dojo.require("dijit.Dialog");
defined in dijit/Dialog.js
handles the keyboard events for accessibility reasons
Usage
function (evt) (view source)
if(evt.keyCode){ var node = evt.target; if (evt.keyCode == dojo.keys.TAB){ this._getFocusItems(this.domNode); } var singleFocusItem = (this._firstFocusItem == this._lastFocusItem); // see if we are shift-tabbing from first focusable item on dialog if(node == this._firstFocusItem && evt.shiftKey && evt.keyCode == dojo.keys.TAB){ if(!singleFocusItem){ dijit.focus(this._lastFocusItem); // send focus to last item in dialog } dojo.stopEvent(evt); }else if(node == this._lastFocusItem && evt.keyCode == dojo.keys.TAB && !evt.shiftKey){ if (!singleFocusItem){ dijit.focus(this._firstFocusItem); // send focus to first item in dialog } dojo.stopEvent(evt); }else{ // see if the key is for the dialog while(node){ if(node == this.domNode){ if(evt.keyCode == dojo.keys.ESCAPE){ this.hide(); }else{ return; // just let it go } } node = node.parentNode; } // this key is for the disabled document window if(evt.keyCode != dojo.keys.TAB){ // allow tabbing into the dialog for a11y dojo.stopEvent(evt); // opera won't tab to a div }else if(!dojo.isOpera){ try{ this._firstFocusItem.focus(); }catch(e){ /*squelch*/ } } } }
parameter | type | description |
---|---|---|
evt |