1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import onTouchStart from './onTouchStart.js';
- import onTouchMove from './onTouchMove.js';
- import onTouchEnd from './onTouchEnd.js';
- import onResize from './onResize.js';
- import onClick from './onClick.js';
- import onScroll from './onScroll.js';
- let dummyEventAttached = false;
- function dummyEventListener() {}
- const events = (swiper, method) => {
- const {
- params,
- touchEvents,
- wrapperEl,
- device,
- support
- } = swiper;
- let el = swiper.native;
- const capture = !!params.nested;
- const domMethod = method === 'on' ? 'on' : 'off';
- const swiperMethod = method;
- if (!support.touch) {
- let desktopMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
- if (document.querySelector(`#${swiper.$el.swiperElId}`)) {
- document.querySelector(`#${swiper.$el.swiperElId}`)[desktopMethod](touchEvents.start, swiper
- .onTouchStart,
- false);
- }
- document[desktopMethod](touchEvents.move, swiper.onTouchMove, capture);
- document[desktopMethod](touchEvents.end, swiper.onTouchEnd, false);
- } else {
- const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params
- .passiveListeners ? {
- passive: true,
- capture: false
- } : false;
- }
- // Resize handler
- if (params.updateOnWindowResize) {
- swiper[swiperMethod](
- device.ios || device.android ?
- 'resize orientationchange observerUpdate' :
- 'resize observerUpdate',
- onResize,
- true,
- );
- } else {
- swiper[swiperMethod]('observerUpdate', onResize, true);
- }
- };
- function attachEvents() {
- const swiper = this;
- const {
- params,
- support
- } = swiper;
- swiper.onTouchStart = onTouchStart.bind(swiper);
- swiper.onTouchMove = onTouchMove.bind(swiper);
- swiper.onTouchEnd = onTouchEnd.bind(swiper);
- if (params.cssMode) {
- swiper.onScroll = onScroll.bind(swiper);
- }
- swiper.onClick = onClick.bind(swiper);
- events(swiper, 'on');
- }
- function detachEvents() {
- const swiper = this;
- events(swiper, 'off');
- }
- export default {
- attachEvents,
- detachEvents
- };
|