최근 H5 페이지에 iOS의 AssistiveTouch와 유사한 기능을 만들었습니다. 페이지에서 이동할 수 있고 사용하지 않을 때는 자동으로 옆으로 흡착되는 작은 매달린 위젯입니다.
발생하는 문제:
Android 휴대폰에서는 위젯을 이동하면 그에 따라 페이지가 스크롤됩니다.
페이지 스크롤의 부드러움을 향상하기 위해 Chrome 브라우저 touchmove
事件里不能用 event.preventDefault()
는 새로운 Chrome 브라우저에서 페이지 스크롤을 방지합니다.
새 바인딩 이벤트는 이와 같이 처리해야 합니다(passive: false
속성 추가)
하지만 저는 React를 사용하고 모니터를 직접 바인딩합니다
으아악touchmove로 위젯을 이동할 때 페이지가 스크롤되는 것을 방지하는 방법은 무엇입니까?
PHP中文网2017-05-16 13:37:17
直接来。 资料지금 这里
으아아아이벤트 핸들러에는 브라우저의 기본 이벤트를 둘러싼 브라우저 간 래퍼인 SyntheticEvent의 인스턴스가 전달됩니다. 이벤트가 모든 브라우저에서 동일하게 작동한다는 점을 제외하면 stopPropagation() 및 PreventDefault()를 포함하여 브라우저의 기본 이벤트와 인터페이스가 동일합니다.
어떤 이유로든 기본 브라우저 이벤트가 필요하다고 판단되면 간단히 NativeEvent 속성을 사용하여 가져오세요. 모든 SyntheticEvent 개체에는 다음과 같은 속성이 있습니다.