aboutsummaryrefslogtreecommitdiffstats
path: root/src/event.js
diff options
context:
space:
mode:
authorBrandon Aaron <brandon.aaron@gmail.com>2009-05-12 15:43:51 +0000
committerBrandon Aaron <brandon.aaron@gmail.com>2009-05-12 15:43:51 +0000
commitb763cc6602fdf2bede16be5bf106ceaa1d1d0525 (patch)
treec11b33677003c027f9fafbdb36712ec8b9c37124 /src/event.js
parentd0750727684cb17a762ee338132159e389920799 (diff)
downloadjquery-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.js16
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 );
+ }
+ }
}
}
}