Changeset 11084
- Timestamp:
- 10/23/07 13:14:41 (9 months ago)
- Location:
- dijit/trunk
- Files:
-
- 2 modified
-
form/Slider.js (modified) (1 diff)
-
_base/focus.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
dijit/trunk/form/Slider.js
r10960 r11084 84 84 _onHandleClick: function(e){ 85 85 if(this.disabled){ return; } 86 dijit.focus(this.sliderHandle); 86 if(!dojo.isIE){ 87 // make sure you get focus when dragging the handle 88 // (but don't do on IE because it causes a flicker on mouse up (due to blur then focus) 89 dijit.focus(this.sliderHandle); 90 } 87 91 dojo.stopEvent(e); 88 92 }, -
dijit/trunk/_base/focus.js
r11074 r11084 190 190 } 191 191 }); 192 body.attachEvent('ondeactivate', function(evt){ dijit._onBlurNode( ); });192 body.attachEvent('ondeactivate', function(evt){ dijit._onBlurNode(evt.srcElement); }); 193 193 }else{ 194 194 body.addEventListener('focus', function(evt){ dijit._onFocusNode(evt.target); }, true); 195 body.addEventListener('blur', function(evt){ dijit._onBlurNode( ); }, true);195 body.addEventListener('blur', function(evt){ dijit._onBlurNode(evt.target); }, true); 196 196 } 197 197 } … … 199 199 }, 200 200 201 _onBlurNode: function( ){201 _onBlurNode: function(/*DomNode*/ node){ 202 202 // summary: 203 203 // Called when focus leaves a node. … … 205 205 // which indicates that we tabbed off the last field on the page, 206 206 // in which case every widget is marked inactive 207 208 207 dijit._prevFocus = dijit._curFocus; 209 208 dijit._curFocus = null; 209 210 var w = dijit.getEnclosingWidget(node); 211 if (w && w._setStateClass){ 212 w._focused = false; 213 w._setStateClass(); 214 } 210 215 if(dijit._justMouseDowned){ 211 216 // the mouse down caused a new widget to be marked as active; this blur event … … 277 282 w._focused = true; 278 283 w._setStateClass(); 279 // watch for a blur on the node that received focus280 var blurConnector = dojo.connect(node, "onblur", function(){281 w._focused = false;282 w._setStateClass();283 if(node==dijit._curFocus){ dijit._curFocus = null; } // so that node!=dijit._curFocus284 dojo.disconnect(blurConnector);285 });286 284 } 287 285 },