瀏覽代碼

Explicitly removes dismissClock

Uses the removeEvent function in core.js to remove the function from
the document click event.
Refs #4045.
Andrew Jesaitis 12 年之前
父節點
當前提交
4509a1be1f
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js

+ 4 - 2
django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js

@@ -6,6 +6,7 @@ var DateTimeShortcuts = {
     calendars: [],
     calendarInputs: [],
     clockInputs: [],
+    dismissClockFunc: [],
     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
@@ -39,6 +40,7 @@ var DateTimeShortcuts = {
     addClock: function(inp) {
         var num = DateTimeShortcuts.clockInputs.length;
         DateTimeShortcuts.clockInputs[num] = inp;
+        DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; };
 
         // Shortcut links (clock icon and "Now" link)
         var shortcuts_span = document.createElement('span');
@@ -118,11 +120,11 @@ var DateTimeShortcuts = {
 
         // Show the clock box
         clock_box.style.display = 'block';
-        addEvent(window.document, 'click', function() { DateTimeShortcuts.dismissClock(num); return true; });
+        addEvent(document, 'click', DateTimeShortcuts.dismissClockFunc[num]);
     },
     dismissClock: function(num) {
        document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none';
-       window.document.onclick = null;
+       removeEvent(document, 'click', DateTimeShortcuts.dismissClockFunc[num]);
     },
     handleClockQuicklink: function(num, val) {
        DateTimeShortcuts.clockInputs[num].value = val;