@@ -184,65 +184,75 @@ $.widget( "mobile.slider", $.mobile.widget, {
184184 slider . insertAfter ( control ) ;
185185
186186 // NOTE force focus on handle
187- this . handle
188- . bind ( "vmousedown" , function ( ) {
189- $ ( this ) . focus ( ) ;
190- } )
191- . bind ( "vclick" , false ) ;
192-
193- this . handle
194- . bind ( "keydown" , function ( event ) {
195- var index = val ( ) ;
196-
197- if ( self . options . disabled ) {
198- return ;
199- }
200-
201- // In all cases prevent the default and mark the handle as active
202- switch ( event . keyCode ) {
203- case $ . mobile . keyCode . HOME :
204- case $ . mobile . keyCode . END :
205- case $ . mobile . keyCode . PAGE_UP :
206- case $ . mobile . keyCode . PAGE_DOWN :
207- case $ . mobile . keyCode . UP :
208- case $ . mobile . keyCode . RIGHT :
209- case $ . mobile . keyCode . DOWN :
210- case $ . mobile . keyCode . LEFT :
211- event . preventDefault ( ) ;
212-
213- if ( ! self . _keySliding ) {
214- self . _keySliding = true ;
215- $ ( this ) . addClass ( "ui-state-active" ) ;
216- }
217- break ;
218- }
219-
220- // move the slider according to the keypress
221- switch ( event . keyCode ) {
222- case $ . mobile . keyCode . HOME :
223- self . refresh ( min ) ;
224- break ;
225- case $ . mobile . keyCode . END :
226- self . refresh ( max ) ;
227- break ;
228- case $ . mobile . keyCode . PAGE_UP :
229- case $ . mobile . keyCode . UP :
230- case $ . mobile . keyCode . RIGHT :
231- self . refresh ( index + step ) ;
232- break ;
233- case $ . mobile . keyCode . PAGE_DOWN :
234- case $ . mobile . keyCode . DOWN :
235- case $ . mobile . keyCode . LEFT :
236- self . refresh ( index - step ) ;
237- break ;
238- }
239- } ) // remove active mark
240- . keyup ( function ( event ) {
241- if ( self . _keySliding ) {
242- self . _keySliding = false ;
243- $ ( this ) . removeClass ( "ui-state-active" ) ;
244- }
245- } ) ;
187+ this . handle . bind ( {
188+ focus : function ( ) {
189+ slider . addClass ( $ . mobile . focusClass ) ;
190+ } ,
191+
192+ blur : function ( ) {
193+ slider . removeClass ( $ . mobile . focusClass ) ;
194+ } ,
195+
196+ vmousedown : function ( ) {
197+ $ ( this ) . focus ( ) ;
198+ } ,
199+
200+ vclick : false ,
201+
202+ keydown : function ( event ) {
203+ var index = val ( ) ;
204+
205+ if ( self . options . disabled ) {
206+ return ;
207+ }
208+
209+ // In all cases prevent the default and mark the handle as active
210+ switch ( event . keyCode ) {
211+ case $ . mobile . keyCode . HOME :
212+ case $ . mobile . keyCode . END :
213+ case $ . mobile . keyCode . PAGE_UP :
214+ case $ . mobile . keyCode . PAGE_DOWN :
215+ case $ . mobile . keyCode . UP :
216+ case $ . mobile . keyCode . RIGHT :
217+ case $ . mobile . keyCode . DOWN :
218+ case $ . mobile . keyCode . LEFT :
219+ event . preventDefault ( ) ;
220+
221+ if ( ! self . _keySliding ) {
222+ self . _keySliding = true ;
223+ $ ( this ) . addClass ( "ui-state-active" ) ;
224+ }
225+ break ;
226+ }
227+
228+ // move the slider according to the keypress
229+ switch ( event . keyCode ) {
230+ case $ . mobile . keyCode . HOME :
231+ self . refresh ( min ) ;
232+ break ;
233+ case $ . mobile . keyCode . END :
234+ self . refresh ( max ) ;
235+ break ;
236+ case $ . mobile . keyCode . PAGE_UP :
237+ case $ . mobile . keyCode . UP :
238+ case $ . mobile . keyCode . RIGHT :
239+ self . refresh ( index + step ) ;
240+ break ;
241+ case $ . mobile . keyCode . PAGE_DOWN :
242+ case $ . mobile . keyCode . DOWN :
243+ case $ . mobile . keyCode . LEFT :
244+ self . refresh ( index - step ) ;
245+ break ;
246+ }
247+ } , // remove active mark
248+
249+ keyup : function ( event ) {
250+ if ( self . _keySliding ) {
251+ self . _keySliding = false ;
252+ $ ( this ) . removeClass ( "ui-state-active" ) ;
253+ }
254+ }
255+ } ) ;
246256
247257 this . refresh ( undefined , undefined , true ) ;
248258 } ,
0 commit comments