Accordion: call event.preventDefault() inside the _eventHandler() instead of in each individual event handler.

This commit is contained in:
Scott González 2011-01-13 16:45:21 -05:00
parent 93d01208eb
commit b22c69b949

View 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;
}