aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2012-03-07 19:17:09 +0100
committerJörn Zaefferer <joern.zaefferer@gmail.com>2012-03-07 19:17:09 +0100
commit050958277317cf127b98f8ac26f70f57cf147b26 (patch)
treee34022084fac3fc3973e4bf3b47fd71c2a25037e
parent1d68f1339975e5c3f725c8860870d402cbcfec27 (diff)
downloadjquery-ui-050958277317cf127b98f8ac26f70f57cf147b26.tar.gz
jquery-ui-050958277317cf127b98f8ac26f70f57cf147b26.zip
Accordion: Fix unbinding of accordion event option when dealing with multiple events. Make sure to unbind only those namespaced to .accordion
-rw-r--r--tests/unit/accordion/accordion_options.js1
-rw-r--r--ui/jquery.ui.accordion.js3
2 files changed, 2 insertions, 2 deletions
diff --git a/tests/unit/accordion/accordion_options.js b/tests/unit/accordion/accordion_options.js
index 8206b1d62..74a9a3177 100644
--- a/tests/unit/accordion/accordion_options.js
+++ b/tests/unit/accordion/accordion_options.js
@@ -152,6 +152,7 @@ test( "{ event: custom }", function() {
// ensure old event handlers are unbound
element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" );
+ element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom2" );
equal( element.accordion( "option", "active" ), 2 );
accordion_state( element, 0, 0, 1 );
diff --git a/ui/jquery.ui.accordion.js b/ui/jquery.ui.accordion.js
index f4747d168..bf8434c6d 100644
--- a/ui/jquery.ui.accordion.js
+++ b/ui/jquery.ui.accordion.js
@@ -162,8 +162,7 @@ $.widget( "ui.accordion", {
if ( key === "event" ) {
if ( this.options.event ) {
- // TODO: this is incorrect for multiple events (see _setupEvents)
- this.headers.unbind( this.options.event + ".accordion", this._eventHandler );
+ this.headers.unbind( this.options.event.split( " " ).join( ".accordion " ) + ".accordion", this._eventHandler );
}
this._setupEvents( value );
}