diff --git a/dist/utils.js b/dist/utils.js index 131adbefe..42ec5f109 100644 --- a/dist/utils.js +++ b/dist/utils.js @@ -12362,6 +12362,7 @@ if (!_global.BI) { _purgeRef: function () { if (this.options.ref) { this.options.ref.call(null); + this.options.ref = null; } }, diff --git a/src/base/combination/combo.js b/src/base/combination/combo.js index 0a963ce8c..64ec1385a 100644 --- a/src/base/combination/combo.js +++ b/src/base/combination/combo.js @@ -518,6 +518,7 @@ BI.Combo = BI.inherit(BI.Widget, { .unbind("mousemove." + this.getName()) .unbind("mouseleave." + this.getName()); BI.Resizers.remove(this.getName()); + this.popupView && this.popupView._destroy(); } }); BI.Combo.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; diff --git a/src/base/combination/switcher.js b/src/base/combination/switcher.js index d6c1f1300..e3a73bcda 100644 --- a/src/base/combination/switcher.js +++ b/src/base/combination/switcher.js @@ -271,10 +271,6 @@ BI.Switcher = BI.inherit(BI.Widget, { empty: function () { this.popupView && this.popupView.empty(); - }, - - destroy: function () { - BI.Switcher.superclass.destroy.apply(this, arguments); } }); BI.Switcher.EVENT_EXPAND = "EVENT_EXPAND"; diff --git a/src/core/ob.js b/src/core/ob.js index 4cf532c5a..7bafa8a1e 100644 --- a/src/core/ob.js +++ b/src/core/ob.js @@ -81,6 +81,7 @@ _purgeRef: function () { if (this.options.ref) { this.options.ref.call(null); + this.options.ref = null; } }, diff --git a/src/core/widget.js b/src/core/widget.js index 09dfd5573..e5dbbe0fc 100644 --- a/src/core/widget.js +++ b/src/core/widget.js @@ -445,6 +445,7 @@ __d: function () { this.beforeDestroy && this.beforeDestroy(); + this.beforeDestroy = null; BI.each(this._children, function (i, widget) { widget && widget._unMount && widget._unMount(); }); @@ -452,6 +453,7 @@ this._parent = null; this._isMounted = false; this.destroyed && this.destroyed(); + this.destroyed = null; }, _unMount: function () {