Tabs: Avoid memory leak during refresh

Fixes #10056
Ref gh-1319
This commit is contained in:
Scott González 2014-08-20 15:57:12 -04:00
parent b397294d42
commit 2e8e52dec1

View File

@ -372,7 +372,10 @@ return $.widget( "ui.tabs", {
},
_processTabs: function() {
var that = this;
var that = this,
prevTabs = this.tabs,
prevAnchors = this.anchors,
prevPanels = this.panels;
this.tablist = this._getList()
.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
@ -456,6 +459,13 @@ return $.widget( "ui.tabs", {
this.panels
.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
.attr( "role", "tabpanel" );
// Avoid memory leaks (#10056)
if ( prevTabs ) {
this._off( prevTabs.not( this.tabs ) );
this._off( prevAnchors.not( this.anchors ) );
this._off( prevPanels.not( this.panels ) );
}
},
// allow overriding how to find the list for rare usage scenarios (#7715)