From: jeresig Date: Thu, 28 Jan 2010 19:16:52 +0000 (-0500) Subject: Make sure namespaces is always an array, when passed to the remove special. Follow... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=e9092e995424828c455952e09b9ec83577009796 Make sure namespaces is always an array, when passed to the remove special. Follow-up to eed69eccc54d010889b5d8495320538d7ceb4e51. --- 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 ) {