@@ -1727,18 +1727,23 @@ $.extend(Datepicker.prototype, {
1727
1727
*/
1728
1728
function bindHover ( dpDiv ) {
1729
1729
var selector = 'button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a' ;
1730
- return dpDiv . delegate ( selector , 'mouseout' , function ( ) {
1731
- $ ( this ) . removeClass ( 'ui-state-hover' ) ;
1732
- if ( this . className . indexOf ( 'ui-datepicker-prev' ) != - 1 ) $ ( this ) . removeClass ( 'ui-datepicker-prev-hover' ) ;
1733
- if ( this . className . indexOf ( 'ui-datepicker-next' ) != - 1 ) $ ( this ) . removeClass ( 'ui-datepicker-next-hover' ) ;
1730
+ return dpDiv . bind ( 'mouseout' , function ( event ) {
1731
+ var elem = $ ( event . target ) . closest ( selector ) ;
1732
+ if ( ! elem . length ) {
1733
+ return ;
1734
+ }
1735
+ elem . removeClass ( "ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover" ) ;
1734
1736
} )
1735
- . delegate ( selector , 'mouseover' , function ( ) {
1736
- if ( ! $ . datepicker . _isDisabledDatepicker ( instActive . inline ? dpDiv . parent ( ) [ 0 ] : instActive . input [ 0 ] ) ) {
1737
- $ ( this ) . parents ( '.ui-datepicker-calendar' ) . find ( 'a' ) . removeClass ( 'ui-state-hover' ) ;
1738
- $ ( this ) . addClass ( 'ui-state-hover' ) ;
1739
- if ( this . className . indexOf ( 'ui-datepicker-prev' ) != - 1 ) $ ( this ) . addClass ( 'ui-datepicker-prev-hover' ) ;
1740
- if ( this . className . indexOf ( 'ui-datepicker-next' ) != - 1 ) $ ( this ) . addClass ( 'ui-datepicker-next-hover' ) ;
1737
+ . bind ( 'mouseover' , function ( event ) {
1738
+ var elem = $ ( event . target ) . closest ( selector ) ;
1739
+ if ( $ . datepicker . _isDisabledDatepicker ( instActive . inline ? dpDiv . parent ( ) [ 0 ] : instActive . input [ 0 ] ) ||
1740
+ ! elem . length ) {
1741
+ return ;
1741
1742
}
1743
+ elem . parents ( '.ui-datepicker-calendar' ) . find ( 'a' ) . removeClass ( 'ui-state-hover' ) ;
1744
+ elem . addClass ( 'ui-state-hover' ) ;
1745
+ if ( elem . hasClass ( 'ui-datepicker-prev' ) ) elem . addClass ( 'ui-datepicker-prev-hover' ) ;
1746
+ if ( elem . hasClass ( 'ui-datepicker-next' ) ) elem . addClass ( 'ui-datepicker-next-hover' ) ;
1742
1747
} ) ;
1743
1748
}
1744
1749
0 commit comments