Skip to content

Commit

Permalink
Datepicker: only set the focus explicitly if it is not already on the…
Browse files Browse the repository at this point in the history
… 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.
(cherry picked from commit 39cf7d5)
  • Loading branch information
tobiasbrunner authored and scottgonzalez committed Feb 3, 2011
1 parent d6fa44a commit d14366a
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion ui/jquery.ui.datepicker.js
Expand Up @@ -700,7 +700,9 @@ $.extend(Datepicker.prototype, {
inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') + inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') +
'Class']('ui-datepicker-rtl'); 'Class']('ui-datepicker-rtl');
if (inst == $.datepicker._curInst && $.datepicker._datepickerShowing && inst.input && 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(); inst.input.focus();
// deffered render of the years select (to avoid flashes on Firefox) // deffered render of the years select (to avoid flashes on Firefox)
if( inst.yearshtml ){ if( inst.yearshtml ){
Expand Down

0 comments on commit d14366a

Please sign in to comment.