X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=26c56209fa868ff201d201d77f0e76f8ddf6c480;hb=1c8c3883a98d7d896efefe92eb0d22b1681e92f1;hp=e707015c10717c8e82a2206e3ed8a6e7a0e4d0ad;hpb=9aa0c69c43bad9fce5ef7732692308afb2a38ec6;p=jquery.git diff --git a/src/event.js b/src/event.js index e707015..26c5620 100644 --- a/src/event.js +++ b/src/event.js @@ -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); });