diff --git a/js/src/carousel.js b/js/src/carousel.js
index 3c7e2b2d9164116102c126a59b2c81de9b73b05d..550c48eb5543576f9a243aa03790a3c5b6966ba5 100644
--- a/js/src/carousel.js
+++ b/js/src/carousel.js
@@ -283,14 +283,11 @@ class Carousel {
       if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {
         this.touchStartX = event.originalEvent.clientX
       } else if (!this._pointerEvent) {
-        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
diff --git a/scss/_carousel.scss b/scss/_carousel.scss
index 97ce6a29cca013f22e114366b4daccdb061ca218..5e0949a92a6afcc141259423a329b9a50575581b 100644
--- a/scss/_carousel.scss
+++ b/scss/_carousel.scss
@@ -16,7 +16,7 @@
 }
 
 .carousel.pointer-event {
-  touch-action: none;
+  touch-action: pan-y;
 }
 
 .carousel-inner {