diff options
| author | fat <[email protected]> | 2015-05-13 12:48:34 -0700 |
|---|---|---|
| committer | fat <[email protected]> | 2015-05-13 12:48:34 -0700 |
| commit | f8b2569ec8956a1f4d09fe6fc9865bd200ecde43 (patch) | |
| tree | 190263c441212d1ba91507d385fe3e6bc33e2614 /js/src/collapse.js | |
| parent | dafdd180cd54a2e238fe715d8aeb83c07f385a18 (diff) | |
| download | bootstrap-f8b2569ec8956a1f4d09fe6fc9865bd200ecde43.tar.xz bootstrap-f8b2569ec8956a1f4d09fe6fc9865bd200ecde43.zip | |
implement global dispose method
Diffstat (limited to 'js/src/collapse.js')
| -rw-r--r-- | js/src/collapse.js | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js index ac506b86b..ded623448 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -20,6 +20,8 @@ const Collapse = (($) => { const NAME = 'collapse' const VERSION = '4.0.0' const DATA_KEY = 'bs.collapse' + const EVENT_KEY = `.${DATA_KEY}` + const DATA_API_KEY = '.data-api' const JQUERY_NO_CONFLICT = $.fn[NAME] const TRANSITION_DURATION = 600 @@ -29,11 +31,11 @@ const Collapse = (($) => { } const Event = { - SHOW : 'show.bs.collapse', - SHOWN : 'shown.bs.collapse', - HIDE : 'hide.bs.collapse', - HIDDEN : 'hidden.bs.collapse', - CLICK : 'click.bs.collapse.data-api' + SHOW : `show${EVENT_KEY}`, + SHOWN : `shown${EVENT_KEY}`, + HIDE : `hide${EVENT_KEY}`, + HIDDEN : `hidden${EVENT_KEY}`, + CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}` } const ClassName = { @@ -110,8 +112,8 @@ const Collapse = (($) => { return } - let activesData let actives + let activesData if (this._parent) { actives = $.makeArray($(Selector.ACTIVES)) @@ -244,6 +246,16 @@ const Collapse = (($) => { this._isTransitioning = isTransitioning } + dispose() { + $.removeData(this._element, DATA_KEY) + + this._config = null + this._parent = null + this._element = null + this._triggerArray = null + this._isTransitioning = null + } + // private @@ -323,7 +335,7 @@ const Collapse = (($) => { * ------------------------------------------------------------------------ */ - $(document).on(Event.CLICK, Selector.DATA_TOGGLE, function (event) { + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { event.preventDefault() let target = Collapse._getTargetFromElement(this) |
