init commit
This commit is contained in:
80
uniapp/小程序代码/uni_modules/zebra-swiper/libs/events/index.js
Normal file
80
uniapp/小程序代码/uni_modules/zebra-swiper/libs/events/index.js
Normal file
@@ -0,0 +1,80 @@
|
||||
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
|
||||
};
|
||||
Reference in New Issue
Block a user