Skip to content
Permalink
Browse files

Fix an issue with adding multiple event handlers and reattaching the …

…global event handler in IE
  • Loading branch information
brandonaaron committed Apr 22, 2007
1 parent 03d2680 commit 1d2faf36cf356bc09d3389ad6fce6ee520560f25
Showing with 13 additions and 13 deletions.
  1. +13 −13 src/event/event.js
@@ -38,29 +38,29 @@ jQuery.event = {
// Init the element's event structure
if (!element.$events)
element.$events = {};

// Get the current list of functions bound to this event
var handlers = element.$events[type];

// Init the event handler queue
if (!handlers)
handlers = element.$events[type] = {};

// Add the function to the element's handler list
handlers[handler.guid] = handler;

if (!element.$handle) {
if (!element.$handle)
element.$handle = function() {
jQuery.event.handle.apply(element, arguments);
};

// Get the current list of functions bound to this event
var handlers = element.$events[type];

// Init the event handler queue
if (!handlers) {
handlers = element.$events[type] = {};

// And bind the global event handler to the element
if (element.addEventListener)
element.addEventListener(type, element.$handle, false);
else if (element.attachEvent)
element.attachEvent("on" + type, element.$handle, false);
}

// Add the function to the element's handler list
handlers[handler.guid] = handler;

// Remember the function in a global list (for triggering)
if (!this.global[type])
this.global[type] = [];
@@ -102,15 +102,15 @@ jQuery.event = {
element.removeEventListener(type, element.$handle, false);
else if (element.detachEvent)
element.detachEvent("on" + type, element.$handle, false);
ret = element.$handle = null;
ret = null;
delete events[type];
}
}

// Remove the expando if it's no longer used
for ( ret in events ) break;
if ( !ret )
element.$events = null;
element.$handle = element.$events = null;
}
},

0 comments on commit 1d2faf3

Please sign in to comment.
You can’t perform that action at this time.