From: Tobias Brunner Date: Thu, 3 Feb 2011 13:51:50 +0000 (-0500) Subject: Datepicker: only set the focus explicitly if it is not already on the target field... X-Git-Tag: 1.9m4~33 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=39cf7d5bb4f9dfe1ada5dc2499f5c91e536ec96b;p=jquery-ui.git Datepicker: only set the focus explicitly if it is not already on the target field. Fixed #6694 – datepicker does not fire change event in IE8 jQuery stores the current content of a field whenever it gets the focus. Since the fixed function is also called for KeyUp events the change event is not triggered anymore when the input looses focus. --- diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js index 6b46dcfe2..018c6cf84 100644 --- a/ui/jquery.ui.datepicker.js +++ b/ui/jquery.ui.datepicker.js @@ -700,7 +700,9 @@ $.extend(Datepicker.prototype, { inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') + 'Class']('ui-datepicker-rtl'); if (inst == $.datepicker._curInst && $.datepicker._datepickerShowing && inst.input && - inst.input.is(':visible') && !inst.input.is(':disabled')) + // #6694 - don't focus the input if it's already focused + // this breaks the change event in IE + inst.input.is(':visible') && !inst.input.is(':disabled') && inst.input[0] != document.activeElement) inst.input.focus(); // deffered render of the years select (to avoid flashes on Firefox) if( inst.yearshtml ){