From e9092e995424828c455952e09b9ec83577009796 Mon Sep 17 00:00:00 2001 From: jeresig Date: Thu, 28 Jan 2010 14:16:52 -0500 Subject: [PATCH] Make sure namespaces is always an array, when passed to the remove special. Follow-up to eed69eccc54d010889b5d8495320538d7ceb4e51. --- src/event.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/event.js b/src/event.js index 2978bc6..53ef72c 100644 --- a/src/event.js +++ b/src/event.js @@ -187,6 +187,9 @@ jQuery.event = { namespace = new RegExp("(^|\\.)" + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)") + + } else { + namespaces = []; } var special = this.special[ type ] || {}; @@ -208,14 +211,14 @@ jQuery.event = { } if ( special.remove ) { - special.remove.call( elem, namespaces || [], fn); + special.remove.call( elem, namespaces, fn); } // remove generic event handler if no more handlers exist for ( ret in events[ type ] ) { - break; } + if ( !ret ) { if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { if ( elem.removeEventListener ) { -- 1.7.10.4