]> 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:52:27 +0000 (08:52 -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.
(cherry picked from commit 39cf7d5bb4f9dfe1ada5dc2499f5c91e536ec96b)

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 ){