diff options
author | patrickhlauke <redux@splintered.co.uk> | 2018-10-16 00:32:17 +0300 |
---|---|---|
committer | XhmikosR <xhmikosr@gmail.com> | 2018-10-20 15:32:09 +0300 |
commit | 9164f772698a54c45da632189bdf65e719c39f73 (patch) | |
tree | a85c56d1baca8d45c824d977babeaf55c09abf67 /js/src/carousel.js | |
parent | 39ae077837f4fa24689d23bbb08b24cb600287b3 (diff) |
Refactor (and correct) start/move/end functions
in particular, no need to use originEvent, and preventDefault() only needed for touch events
Diffstat (limited to 'js/src/carousel.js')
-rw-r--r-- | js/src/carousel.js | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/js/src/carousel.js b/js/src/carousel.js index 797d84bb03..3507a81594 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -278,32 +278,29 @@ class Carousel { } const start = (event) => { - event.preventDefault() - const originEvent = event.originalEvent - - if (this._pointerEvent && (originEvent.pointerType === PointerType.TOUCH || originEvent.pointerType === PointerType.PEN)) { - this.touchStartX = originEvent.clientX + if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) { + this.touchStartX = event.originalEvent.clientX } else if (!this._pointerEvent) { - this.touchStartX = originEvent.touches[0].clientX + event.preventDefault() + this.touchStartX = event.originalEvent.touches[0].clientX } } const move = (event) => { - event.preventDefault() - - // ensure swiping with one touch and not pinching - if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { - this.touchDeltaX = 0; - return - } - if (!this._pointerEvent) { - this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX + event.preventDefault() + + // ensure swiping with one touch and not pinching + if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { + this.touchDeltaX = 0 + } else { + this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX + } } } const end = (event) => { - if (this._pointerEvent) { + if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) { this.touchDeltaX = event.originalEvent.clientX - this.touchStartX } @@ -329,7 +326,6 @@ class Carousel { if (this._pointerEvent) { $(this._element).on(Event.POINTERDOWN, (event) => start(event)) $(this._element).on(Event.POINTERUP, (event) => end(event)) - $(this._element).on(Event.POINTERCANCEL, (event) => end(event)) this._element.classList.add(ClassName.POINTER_EVENT) } else { |