diff options
| author | Johann-S <[email protected]> | 2017-10-20 21:11:16 +0200 |
|---|---|---|
| committer | XhmikosR <[email protected]> | 2019-02-20 22:05:45 +0200 |
| commit | b5077a1a8170cf4e65d8e0e1b5b4b1da0ce5cd90 (patch) | |
| tree | 62449f7dfbd6782a8747a3722ea27812a4c3f1f8 /js | |
| parent | 2929bf9619fd0517a9bee0f4b9a753f9513d75dc (diff) | |
| download | bootstrap-b5077a1a8170cf4e65d8e0e1b5b4b1da0ce5cd90.tar.xz bootstrap-b5077a1a8170cf4e65d8e0e1b5b4b1da0ce5cd90.zip | |
fix one forgets of using jQuery in Carousel and Tooltip
Diffstat (limited to 'js')
| -rw-r--r-- | js/src/carousel.js | 61 |
1 files changed, 33 insertions, 28 deletions
diff --git a/js/src/carousel.js b/js/src/carousel.js index f73edf910..4519d566c 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -7,6 +7,7 @@ import Data from './dom/data' import EventHandler from './dom/eventHandler' +import Manipulator from './dom/manipulator' import SelectorEngine from './dom/selectorEngine' import Util from './util' @@ -322,6 +323,7 @@ class Carousel { [].slice.call(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach((itemImg) => { EventHandler.on(itemImg, Event.DRAG_START, (e) => e.preventDefault()) }) + if (this._pointerEvent) { EventHandler.on(this._element, Event.POINTERDOWN, (event) => start(event)) EventHandler.on(this._element, Event.POINTERUP, (event) => end(event)) @@ -507,39 +509,42 @@ class Carousel { // Static - static _jQueryInterface(config) { - return this.each(function () { - let data = Data.getData(this, DATA_KEY) - let _config = { - ...Default, - ...Data.getData(this, DATA_KEY) - } + static _carouselInterface(element, config) { + let data = Data.getData(element, DATA_KEY) + let _config = { + ...Default, + ...Manipulator.getDataAttributes(element) + } - if (typeof config === 'object') { - _config = { - ..._config, - ...config - } + if (typeof config === 'object') { + _config = { + ..._config, + ...config } + } - const action = typeof config === 'string' ? config : _config.slide + const action = typeof config === 'string' ? config : _config.slide - if (!data) { - data = new Carousel(this, _config) - Data.setData(this, DATA_KEY, data) - } + if (!data) { + data = new Carousel(element, _config) + } - if (typeof config === 'number') { - data.to(config) - } else if (typeof action === 'string') { - if (typeof data[action] === 'undefined') { - throw new TypeError(`No method named "${action}"`) - } - data[action]() - } else if (_config.interval && _config.ride) { - data.pause() - data.cycle() + if (typeof config === 'number') { + data.to(config) + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new Error(`No method named "${action}"`) } + data[action]() + } else if (_config.interval && _config.ride) { + data.pause() + data.cycle() + } + } + + static _jQueryInterface(config) { + return this.each(function () { + Carousel._carouselInterface(this, config) }) } @@ -588,7 +593,7 @@ EventHandler EventHandler.on(window, Event.LOAD_DATA_API, () => { const carousels = Util.makeArray(SelectorEngine.find(Selector.DATA_RIDE)) for (let i = 0, len = carousels.length; i < len; i++) { - Carousel._jQueryInterface.call($(carousels[i]), Data.getData(carousels[i], DATA_KEY)) + Carousel._carouselInterface.call(carousels[i], Data.getData(carousels[i], DATA_KEY)) } }) |
