Moved to a generic solution for copying methods over for querySelectorAll-using browsers.
[jquery.git] / src / event.js
index e707015..26c5620 100644 (file)
@@ -116,7 +116,7 @@ jQuery.event = {
                                        // Namespaced event handlers
                                        var namespaces = type.split(".");
                                        type = namespaces.shift();
-                                       var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+                                       var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
 
                                        if ( events[type] ) {
                                                // remove the given handler for the given type
@@ -240,7 +240,8 @@ jQuery.event = {
                var all, handlers;
 
                event = arguments[0] = jQuery.event.fix( event || window.event );
-
+               event.currentTarget = this;
+               
                // Namespaced event handlers
                var namespaces = event.type.split(".");
                event.type = namespaces.shift();
@@ -248,7 +249,7 @@ jQuery.event = {
                // Cache this now, all = true means, any handler
                all = !namespaces.length && !event.exclusive;
                
-               var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+               var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
 
                handlers = ( jQuery.data(this, "events") || {} )[event.type];
 
@@ -353,7 +354,7 @@ jQuery.event = {
                        },
                        teardown:  function( namespaces ){
                                if ( namespaces.length ) {
-                                       var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
+                                       var remove = 0, name = new RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
                                        
                                        jQuery.each( (jQuery.data(this, "events").live || {}), function(){
                                                if ( name.test(this.type) )
@@ -559,7 +560,7 @@ jQuery.fn.extend({
 });
 
 function liveHandler( event ){
-       var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),
+       var check = new RegExp("(^|\\.)" + event.type + "(\\.|$)"),
                stop = true,
                elems = [];
 
@@ -576,6 +577,7 @@ function liveHandler( event ){
        });
        
        jQuery.each(elems, function(){
+               event.currentTarget = this.elem;
                if ( this.fn.call(this.elem, event, this.fn.data) === false )
                        return (stop = false);
        });