diff options
| author | Andrew Jesaitis <andrew@andrewjesaitis.com> | 2013-03-27 22:34:57 -0600 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2013-04-06 13:50:09 +0200 |
| commit | 5ab66dea50eab6625e3a07b71342268432e9cfaf (patch) | |
| tree | fca276242df3da64048518d7fe7dc406e81673ba | |
| parent | 4509a1be1f1164164c2b654d1e3e4169ef71b5ae (diff) | |
Explicitly removes dismissCalendar
Uses the removeEvent function in core.js to remove the dismissCalendar
function from the document click event.
Fixes #4045.
| -rw-r--r-- | django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js index 6bf8f6640a..671af9bd78 100644 --- a/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js +++ b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js @@ -7,6 +7,7 @@ var DateTimeShortcuts = { calendarInputs: [], clockInputs: [], dismissClockFunc: [], + dismissCalendarFunc: [], calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled calendarDivName2: 'calendarin', // name of <div> that contains calendar calendarLinkName: 'calendarlink',// name of the link that is used to toggle @@ -136,6 +137,7 @@ var DateTimeShortcuts = { var num = DateTimeShortcuts.calendars.length; DateTimeShortcuts.calendarInputs[num] = inp; + DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; // Shortcut links (calendar icon and "Today" link) var shortcuts_span = document.createElement('span'); @@ -243,11 +245,11 @@ var DateTimeShortcuts = { cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; cal_box.style.display = 'block'; - addEvent(window.document, 'click', function() { DateTimeShortcuts.dismissCalendar(num); return true; }); + addEvent(document, 'click', DateTimeShortcuts.dismissCalendarFunc[num]); }, dismissCalendar: function(num) { document.getElementById(DateTimeShortcuts.calendarDivName1+num).style.display = 'none'; - window.document.onclick = null; + removeEvent(document, 'click', DateTimeShortcuts.dismissCalendarFunc[num]); }, drawPrev: function(num) { DateTimeShortcuts.calendars[num].drawPreviousMonth(); |
