diff options
Diffstat (limited to 'js/src/collapse.js')
| -rw-r--r-- | js/src/collapse.js | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js index 31200c33a..7d6aa30ed 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -141,12 +141,11 @@ class Collapse { } } + const container = SelectorEngine.findOne(this._selector) if (actives) { - const tempActiveData = actives.filter((elem) => { - const container = SelectorEngine.findOne(this._selector) - return !container.contains(elem) - }) + const tempActiveData = actives.filter((elem) => container !== elem) activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null + if (activesData && activesData._isTransitioning) { return } @@ -159,14 +158,14 @@ class Collapse { if (actives) { actives.forEach((elemActive) => { - const container = SelectorEngine.findOne(this._selector) - if (!container.contains(elemActive)) { + if (container !== elemActive) { Collapse._collapseInterface(elemActive, 'hide') } + + if (!activesData) { + Data.setData(elemActive, DATA_KEY, null) + } }) - if (!activesData) { - Data.setData(actives[0], DATA_KEY, null) - } } const dimension = this._getDimension() |
