@@ -337,6 +337,7 @@ $.extend(Datepicker.prototype, {
337
337
} ) ;
338
338
$target . prepend ( '<div class="' + this . _disableClass + '" style="' +
339
339
( $ . browser . msie ? 'background-color: transparent; ' : '' ) +
340
+ 'position: absolute;' +
340
341
'width: ' + inline . width ( ) + 'px; height: ' + inline . height ( ) +
341
342
'px; left: ' + ( offset . left - relOffset . left ) +
342
343
'px; top: ' + ( offset . top - relOffset . top ) + 'px;"></div>' ) ;
@@ -443,6 +444,7 @@ $.extend(Datepicker.prototype, {
443
444
_doKeyDown : function ( event ) {
444
445
var inst = $ . datepicker . _getInst ( event . target ) ;
445
446
var handled = true ;
447
+ var isRTL = inst . dpDiv . is ( '.ui-datepicker-rtl' ) ;
446
448
inst . _keyEvent = true ;
447
449
if ( $ . datepicker . _datepickerShowing )
448
450
switch ( event . keyCode ) {
@@ -472,7 +474,7 @@ $.extend(Datepicker.prototype, {
472
474
case 36 : if ( event . ctrlKey || event . metaKey ) $ . datepicker . _gotoToday ( event . target ) ;
473
475
handled = event . ctrlKey || event . metaKey ;
474
476
break ; // current on ctrl or command +home
475
- case 37 : if ( event . ctrlKey || event . metaKey ) $ . datepicker . _adjustDate ( event . target , - 1 , 'D' ) ;
477
+ case 37 : if ( event . ctrlKey || event . metaKey ) $ . datepicker . _adjustDate ( event . target , ( isRTL ? + 1 : - 1 ) , 'D' ) ;
476
478
handled = event . ctrlKey || event . metaKey ;
477
479
// -1 day on ctrl or command +left
478
480
if ( event . originalEvent . altKey ) $ . datepicker . _adjustDate ( event . target , ( event . ctrlKey ?
@@ -483,7 +485,7 @@ $.extend(Datepicker.prototype, {
483
485
case 38 : if ( event . ctrlKey || event . metaKey ) $ . datepicker . _adjustDate ( event . target , - 7 , 'D' ) ;
484
486
handled = event . ctrlKey || event . metaKey ;
485
487
break ; // -1 week on ctrl or command +up
486
- case 39 : if ( event . ctrlKey || event . metaKey ) $ . datepicker . _adjustDate ( event . target , + 1 , 'D' ) ;
488
+ case 39 : if ( event . ctrlKey || event . metaKey ) $ . datepicker . _adjustDate ( event . target , ( isRTL ? - 1 : + 1 ) , 'D' ) ;
487
489
handled = event . ctrlKey || event . metaKey ;
488
490
// +1 day on ctrl or command +right
489
491
if ( event . originalEvent . altKey ) $ . datepicker . _adjustDate ( event . target , ( event . ctrlKey ?
@@ -589,12 +591,16 @@ $.extend(Datepicker.prototype, {
589
591
css ( { width : dims . width , height : dims . height } )
590
592
. end ( )
591
593
. find ( 'button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a' )
592
- . bind ( 'mouseover' , function ( ) {
593
- $ ( this ) . addClass ( 'ui-state-hover' ) ;
594
- } )
595
594
. bind ( 'mouseout' , function ( ) {
596
595
$ ( this ) . removeClass ( 'ui-state-hover' ) ;
597
596
} )
597
+ . bind ( 'mouseover' , function ( ) {
598
+ $ ( this ) . parents ( '.ui-datepicker-calendar' ) . find ( 'a' ) . removeClass ( 'ui-state-hover' ) ;
599
+ $ ( this ) . addClass ( 'ui-state-hover' ) ;
600
+ } )
601
+ . end ( )
602
+ . find ( '.' + this . _dayOverClass + ' a' )
603
+ . trigger ( 'mouseover' )
598
604
. end ( ) ;
599
605
var numMonths = this . _getNumberOfMonths ( inst ) ;
600
606
inst . dpDiv [ ( numMonths [ 0 ] != 1 || numMonths [ 1 ] != 1 ? 'add' : 'remove' ) +
@@ -1279,7 +1285,6 @@ $.extend(Datepicker.prototype, {
1279
1285
}
1280
1286
}
1281
1287
}
1282
- // controls and links
1283
1288
var prevText = this . _get ( inst , 'prevText' ) ;
1284
1289
prevText = ( ! navigationAsDateFormat ? prevText : this . formatDate ( prevText ,
1285
1290
this . _daylightSavingAdjust ( new Date ( drawYear , drawMonth - stepMonths , 1 ) ) ,
0 commit comments