]> source.dussan.org Git - jquery-ui.git/commitdiff
Accordion: call event.preventDefault() inside the _eventHandler() instead of in each...
authorScott González <scott.gonzalez@gmail.com>
Thu, 13 Jan 2011 21:45:21 +0000 (16:45 -0500)
committerScott González <scott.gonzalez@gmail.com>
Thu, 13 Jan 2011 21:45:21 +0000 (16:45 -0500)
ui/jquery.ui.accordion.js

index 5fa4b1aeedf77a8585986dc97ece8fd41bfc5d35..8b7c1f3a4bc0a13aa5ee366e76b04037017a6ebf 100644 (file)
@@ -119,10 +119,8 @@ $.widget( "ui.accordion", {
                }
 
                if ( options.event ) {
-                       self.headers.bind( options.event.split(" ").join(".accordion ") + ".accordion", function(event) {
-                               self._eventHandler( event );
-                               event.preventDefault();
-                       });
+                       self.headers.bind( options.event.split(" ").join(".accordion ") + ".accordion",
+                               $.proxy( self, "_eventHandler" ) );
                }
        },
 
@@ -217,7 +215,6 @@ $.widget( "ui.accordion", {
                        case keyCode.SPACE:
                        case keyCode.ENTER:
                                this._eventHandler( event );
-                               event.preventDefault();
                }
 
                if ( toFocus ) {
@@ -281,7 +278,11 @@ $.widget( "ui.accordion", {
                // we found a header to activate, just delegate to the event handler
                if ( active ) {
                        if ( active !== this.active[ 0 ] ) {
-                               this._eventHandler( { target: active, currentTarget: active } );
+                               this._eventHandler({
+                                       target: active,
+                                       currentTarget: active,
+                                       preventDefault: $.noop
+                               });
                        }
                        return;
                }
@@ -320,6 +321,8 @@ $.widget( "ui.accordion", {
                        clicked = $( event.currentTarget ),
                        clickedIsActive = clicked[0] === this.active[0];
 
+               event.preventDefault();
+
                if ( options.disabled ) {
                        return;
                }