]> source.dussan.org Git - jquery-ui.git/commitdiff
Datepicker: only set the focus explicitly if it is not already on the target field...
authorTobias Brunner <tobias@strongswan.org>
Thu, 3 Feb 2011 13:51:50 +0000 (08:51 -0500)
committerScott González <scott.gonzalez@gmail.com>
Thu, 3 Feb 2011 13:51:50 +0000 (08:51 -0500)
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.

ui/jquery.ui.datepicker.js

index 6b46dcfe27ca2eb3d05386813515f5d5103a93ca..018c6cf84c46553535e0709a2174506e8df1dfc4 100644 (file)
@@ -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 ){