Skip to content

Commit 4d8529c

Browse files
committed
Datepicker: Don't use .delegate(). Fixes #7470 - Datepicker: 1.8.x can't be used with jQuery 1.3.2 due to use of .delegate().
1 parent d3ffacb commit 4d8529c

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

ui/jquery.ui.datepicker.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,18 +1727,23 @@ $.extend(Datepicker.prototype, {
17271727
*/
17281728
function bindHover(dpDiv) {
17291729
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" );
17341736
})
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;
17411742
}
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');
17421747
});
17431748
}
17441749

0 commit comments

Comments
 (0)