mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-10-05 01:44:18 +00:00
Accordion: Use 'that' instead of 'self'. Partial fix for #5404 - remove uses of 'var self = this;'
This commit is contained in:
parent
4f909c50ba
commit
5c7be4798f
59
ui/jquery.ui.accordion.js
vendored
59
ui/jquery.ui.accordion.js
vendored
@ -33,19 +33,18 @@ $.widget( "ui.accordion", {
|
||||
},
|
||||
|
||||
_create: function() {
|
||||
var self = this,
|
||||
options = self.options;
|
||||
var options = this.options;
|
||||
|
||||
self.lastToggle = {};
|
||||
self.element.addClass( "ui-accordion ui-widget ui-helper-reset" );
|
||||
this.lastToggle = {};
|
||||
this.element.addClass( "ui-accordion ui-widget ui-helper-reset" );
|
||||
|
||||
self.headers = self.element.find( options.header )
|
||||
this.headers = this.element.find( options.header )
|
||||
.addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" );
|
||||
self._hoverable( self.headers );
|
||||
self._focusable( self.headers );
|
||||
self.headers.find( ":first-child" ).addClass( "ui-accordion-heading" );
|
||||
this._hoverable( this.headers );
|
||||
this._focusable( this.headers );
|
||||
this.headers.find( ":first-child" ).addClass( "ui-accordion-heading" );
|
||||
|
||||
self.headers.next()
|
||||
this.headers.next()
|
||||
.addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" );
|
||||
|
||||
// don't allow collapsible: false and active: false
|
||||
@ -56,26 +55,26 @@ $.widget( "ui.accordion", {
|
||||
if ( options.active < 0 ) {
|
||||
options.active += this.headers.length;
|
||||
}
|
||||
self.active = self._findActive( options.active )
|
||||
this.active = this._findActive( options.active )
|
||||
.addClass( "ui-accordion-header-active ui-state-active" )
|
||||
.toggleClass( "ui-corner-all" )
|
||||
.toggleClass( "ui-corner-top" );
|
||||
self.active.next().addClass( "ui-accordion-content-active" );
|
||||
this.active.next().addClass( "ui-accordion-content-active" );
|
||||
|
||||
self._createIcons();
|
||||
self.refresh();
|
||||
this._createIcons();
|
||||
this.refresh();
|
||||
|
||||
// ARIA
|
||||
self.element.attr( "role", "tablist" );
|
||||
this.element.attr( "role", "tablist" );
|
||||
|
||||
self.headers
|
||||
this.headers
|
||||
.attr( "role", "tab" )
|
||||
.bind( "keydown.accordion", $.proxy( self, "_keydown" ) )
|
||||
.bind( "keydown.accordion", $.proxy( this, "_keydown" ) )
|
||||
.next()
|
||||
.attr( "role", "tabpanel" );
|
||||
|
||||
self.headers
|
||||
.not( self.active )
|
||||
this.headers
|
||||
.not( this.active )
|
||||
.attr({
|
||||
"aria-expanded": "false",
|
||||
"aria-selected": "false",
|
||||
@ -85,10 +84,10 @@ $.widget( "ui.accordion", {
|
||||
.hide();
|
||||
|
||||
// make sure at least one header is in the tab order
|
||||
if ( !self.active.length ) {
|
||||
self.headers.eq( 0 ).attr( "tabIndex", 0 );
|
||||
if ( !this.active.length ) {
|
||||
this.headers.eq( 0 ).attr( "tabIndex", 0 );
|
||||
} else {
|
||||
self.active.attr({
|
||||
this.active.attr({
|
||||
"aria-expanded": "true",
|
||||
"aria-selected": "true",
|
||||
tabIndex: 0
|
||||
@ -97,7 +96,7 @@ $.widget( "ui.accordion", {
|
||||
|
||||
// only need links in tab order for Safari
|
||||
if ( !$.browser.safari ) {
|
||||
self.headers.find( "a" ).attr( "tabIndex", -1 );
|
||||
this.headers.find( "a" ).attr( "tabIndex", -1 );
|
||||
}
|
||||
|
||||
this._setupEvents( options.event );
|
||||
@ -362,13 +361,13 @@ $.widget( "ui.accordion", {
|
||||
},
|
||||
|
||||
_toggle: function( data ) {
|
||||
var self = this,
|
||||
options = self.options,
|
||||
var that = this,
|
||||
options = this.options,
|
||||
toShow = data.newContent,
|
||||
toHide = data.oldContent;
|
||||
|
||||
function complete() {
|
||||
self._completed( data );
|
||||
that._completed( data );
|
||||
}
|
||||
|
||||
if ( options.animated ) {
|
||||
@ -385,11 +384,11 @@ $.widget( "ui.accordion", {
|
||||
}
|
||||
|
||||
animations[ animation ]({
|
||||
widget: self,
|
||||
widget: this,
|
||||
toShow: toShow,
|
||||
toHide: toHide,
|
||||
prevShow: self.lastToggle.toShow,
|
||||
prevHide: self.lastToggle.toHide,
|
||||
prevShow: this.lastToggle.toShow,
|
||||
prevHide: this.lastToggle.toHide,
|
||||
complete: complete,
|
||||
down: toShow.length && ( !toHide.length || ( toShow.index() < toHide.index() ) )
|
||||
}, additional );
|
||||
@ -572,7 +571,7 @@ if ( $.uiBackCompat !== false ) {
|
||||
var _create = prototype._create;
|
||||
prototype._create = function() {
|
||||
if ( this.options.navigation ) {
|
||||
var self = this,
|
||||
var that = this,
|
||||
headers = this.element.find( this.options.header ),
|
||||
content = headers.next(),
|
||||
current = headers.add( content )
|
||||
@ -582,7 +581,7 @@ if ( $.uiBackCompat !== false ) {
|
||||
if ( current ) {
|
||||
headers.add( content ).each( function( index ) {
|
||||
if ( $.contains( this, current ) ) {
|
||||
self.options.active = Math.floor( index / 2 );
|
||||
that.options.active = Math.floor( index / 2 );
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user