jQuery: The Write Less, Do More JavaScript Library

Changeset 1371

Show
Ignore:
Timestamp:
02/18/07 22:17:28 (2 years ago)
Author:
john
Message:

Fix for bug #959, maintaining a list of event handlers on the 'events' property was causing problems with elements whom had that ID.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/jquery/src/event/event.js

    r1296 r1371  
    2323 
    2424        // Init the element's event structure 
    25         if (!element.events) 
    26             element.events = {}; 
     25        if (!element.$events) 
     26            element.$events = {}; 
    2727 
    2828        // Get the current list of functions bound to this event 
    29         var handlers = element.events[type]; 
     29        var handlers = element.$events[type]; 
    3030 
    3131        // If it hasn't been initialized yet 
    3232        if (!handlers) { 
    3333            // Init the event handler queue 
    34             handlers = element.events[type] = {}; 
     34            handlers = element.$events[type] = {}; 
    3535 
    3636            // Remember an existing handler, if it's already there 
     
    5656    // Detach an event or set of events from an element 
    5757    remove: function(element, type, handler) { 
    58         if (element.events) 
     58        if (element.$events) 
    5959            if ( type && type.type ) 
    60                 delete element.events[ type.type ][ type.handler.guid ]; 
    61             else if (type && element.events[type]) 
     60                delete element.$events[ type.type ][ type.handler.guid ]; 
     61            else if (type && element.$events[type]) 
    6262                if ( handler ) 
    63                     delete element.events[type][handler.guid]; 
     63                    delete element.$events[type][handler.guid]; 
    6464                else 
    65                     for ( var i in element.events[type] ) 
    66                         delete element.events[type][i]; 
     65                    for ( var i in element.$events[type] ) 
     66                        delete element.$events[type][i]; 
    6767            else 
    68                 for ( var j in element.events ) 
     68                for ( var j in element.$events ) 
    6969                    this.remove( element, j ); 
    7070    }, 
     
    112112        var returnValue; 
    113113 
    114         var c = this.events[event.type]; 
     114        var c = this.$events[event.type]; 
    115115 
    116116        var args = [].slice.call( arguments, 1 );