Fixed problems with removing live events. Fixes #4894.
[jquery.git] / src / event.js
index d2e106a..e070cb2 100644 (file)
@@ -264,12 +264,12 @@ jQuery.event = {
                if ( !bubbling && nativeFn && !event.isDefaultPrevented() && !isClick ) {
                        this.triggered = true;
                        try {
-                               nativeFn();
+                               elem[ type ]();
                        // prevent IE from throwing an error for some hidden elements
                        } catch (e) {}
 
                // Handle triggering native .onfoo handlers
-               } else if ( nativeHandler && nativeHandler.apply( elem, data ) === false ) {
+               } else if ( nativeHandler && elem[ "on" + type ].apply( elem, data ) === false ) {
                        event.result = false;
                }
 
@@ -872,9 +872,7 @@ function liveHandler( event ) {
 }
 
 function liveConvert( type, selector ) {
-       return ["live", type, selector//.replace(/[^\w\s\.]/g, function(ch){ return "\\"+ch})
-                                                                 .replace(/\./g, "`")
-                                                                 .replace(/ /g, "|")].join(".");
+       return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "&")].join(".");
 }
 
 jQuery.each( ("blur focus load resize scroll unload click dblclick " +