Skip to content
Permalink
Browse files
Fix for bug #959, maintaining a list of event handlers on the 'events…
…' property was causing problems with elements whom had that ID.
  • Loading branch information
jeresig committed Feb 18, 2007
1 parent 5616e4c commit 3eaebf45a21f3eceb0144769713353bebb9d44a7
Showing with 12 additions and 12 deletions.
  1. +12 −12 src/event/event.js
@@ -22,16 +22,16 @@ jQuery.event = {
handler.guid = this.guid++;

// Init the element's event structure
if (!element.events)
element.events = {};
if (!element.$events)
element.$events = {};

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

// If it hasn't been initialized yet
if (!handlers) {
// Init the event handler queue
handlers = element.events[type] = {};
handlers = element.$events[type] = {};

// Remember an existing handler, if it's already there
if (element["on" + type])
@@ -55,17 +55,17 @@ jQuery.event = {

// Detach an event or set of events from an element
remove: function(element, type, handler) {
if (element.events)
if (element.$events)
if ( type && type.type )
delete element.events[ type.type ][ type.handler.guid ];
else if (type && element.events[type])
delete element.$events[ type.type ][ type.handler.guid ];
else if (type && element.$events[type])
if ( handler )
delete element.events[type][handler.guid];
delete element.$events[type][handler.guid];
else
for ( var i in element.events[type] )
delete element.events[type][i];
for ( var i in element.$events[type] )
delete element.$events[type][i];
else
for ( var j in element.events )
for ( var j in element.$events )
this.remove( element, j );
},

@@ -111,7 +111,7 @@ jQuery.event = {
// returned undefined or false
var returnValue;

var c = this.events[event.type];
var c = this.$events[event.type];

var args = [].slice.call( arguments, 1 );
args.unshift( event );

0 comments on commit 3eaebf4

Please sign in to comment.