diff options
author | Brandon Aaron <brandon.aaron@gmail.com> | 2009-05-12 15:43:51 +0000 |
---|---|---|
committer | Brandon Aaron <brandon.aaron@gmail.com> | 2009-05-12 15:43:51 +0000 |
commit | b763cc6602fdf2bede16be5bf106ceaa1d1d0525 (patch) | |
tree | c11b33677003c027f9fafbdb36712ec8b9c37124 /src/event.js | |
parent | d0750727684cb17a762ee338132159e389920799 (diff) | |
download | jquery-b763cc6602fdf2bede16be5bf106ceaa1d1d0525.tar.gz jquery-b763cc6602fdf2bede16be5bf106ceaa1d1d0525.zip |
fix regression in removing live events caused by r6324
Diffstat (limited to 'src/event.js')
-rw-r--r-- | src/event.js | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/event.js b/src/event.js index e9164e594..cac56bd6f 100644 --- a/src/event.js +++ b/src/event.js @@ -402,8 +402,20 @@ jQuery.event = { jQuery.event.add( this, data.live, liveHandler ); }, - teardown: function( namespaces ) { - jQuery.event.remove( this, namespaces[0], liveHandler ); + remove: function( namespaces ) { + if ( namespaces.length ) { + var remove = 0, name = new RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)"); + + jQuery.each( (jQuery.data(this, "events").live || {}), function() { + if ( name.test(this.type) ) { + remove++; + } + }); + + if ( remove < 1 ) { + jQuery.event.remove( this, namespaces[0], liveHandler ); + } + } } } } |