Skip to content

Commit 92d620a

Browse files
committed
Added non-passive event listener to a scroll-blocking 'touchstart' event
Signed-off-by: TLT <tungluong2809@gmail.com>
1 parent 1a06f6c commit 92d620a

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

src/useDetectTouch.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ export default function useDetectTouch() {
1010
}
1111

1212
const removeListener = () => {
13-
document.removeEventListener('touchstart', handleTouch)
13+
document.removeEventListener('touchstart', handleTouch, { passive: true })
1414
}
1515

16-
document.addEventListener('touchstart', handleTouch)
16+
document.addEventListener('touchstart', handleTouch, { passive: true })
1717
return removeListener
1818
}, [])
1919

src/useGrid.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useRef, useLayoutEffect, useEffect, useReducer } from 'react'
1+
import { useEffect, useLayoutEffect, useReducer, useRef } from 'react'
22

33
import {
44
addMonths,
@@ -200,14 +200,14 @@ export default function useGrid({ locale, month: currentMonth, onMonthChange, tr
200200
}
201201
}
202202

203-
containerElement.addEventListener('touchstart', handleDragStart)
204-
containerElement.addEventListener('touchmove', handleDrag)
205-
containerElement.addEventListener('touchend', handleDragEnd)
203+
containerElement.addEventListener('touchstart', handleDragStart, { passive: true })
204+
containerElement.addEventListener('touchmove', handleDrag, { passive: true })
205+
containerElement.addEventListener('touchend', handleDragEnd, { passive: true })
206206

207207
return () => {
208-
containerElement.removeEventListener('touchstart', handleDragStart)
209-
containerElement.removeEventListener('touchmove', handleDrag)
210-
containerElement.removeEventListener('touchend', handleDragEnd)
208+
containerElement.removeEventListener('touchstart', handleDragStart, { passive: true })
209+
containerElement.removeEventListener('touchmove', handleDrag, { passive: true })
210+
containerElement.removeEventListener('touchend', handleDragEnd, { passive: true })
211211
}
212212
}
213213
})

src/useOutsideClickHandler.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useRef, useEffect } from 'react'
1+
import { useEffect, useRef } from 'react'
22

33
export default function useOutsideClickHandler(callback) {
44
const refA = useRef()
@@ -16,10 +16,10 @@ export default function useOutsideClickHandler(callback) {
1616
}
1717
}
1818

19-
document.addEventListener('click', handleOutsideClick)
19+
document.addEventListener('click', handleOutsideClick, { passive: true })
2020

2121
return () => {
22-
document.removeEventListener('click', handleOutsideClick)
22+
document.removeEventListener('click', handleOutsideClick, { passive: true })
2323
}
2424
}, [callback])
2525

0 commit comments

Comments
 (0)