From b22c69b949b6d807af0124fa481017bfff57f37b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Thu, 13 Jan 2011 16:45:21 -0500 Subject: [PATCH] Accordion: call event.preventDefault() inside the _eventHandler() instead of in each individual event handler. --- ui/jquery.ui.accordion.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ui/jquery.ui.accordion.js b/ui/jquery.ui.accordion.js index 5fa4b1aee..8b7c1f3a4 100644 --- a/ui/jquery.ui.accordion.js +++ b/ui/jquery.ui.accordion.js @@ -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; } -- 2.39.5