unbind handlers with data + test (#935)
[jquery.git] / src / event / event.js
index 2d9c530..a3db2f3 100644 (file)
@@ -14,7 +14,7 @@ jQuery.event = {
                        element = window;
                
                // if data is passed, bind to handler 
-               if( data != handler ) { 
+               if( data != undefined ) { 
                // Create temporary function pointer to original handler 
                        var fn = handler; 
 
@@ -32,8 +32,11 @@ jQuery.event = {
                }
 
                // Make sure that the function being executed has a unique ID
-               if ( !handler.guid )
+               if ( !handler.guid ) {
                        handler.guid = this.guid++;
+                       // Don't forget to set guid for the original handler function
+                       if (fn) fn.guid = handler.guid;
+               }
 
                // Init the element's event structure
                if (!element.$events)