이벤트 수식어 중에서 passive 설명이 잘 이해가 되질 않습니다
1158
3 câu hỏi đã được viết
안녕하세요
좋은 강의 잘 듣고 있습니다
passive를 적용했을때 "터치 혹은 휠 이벤트로 발생하는 스크롤 성능을 향상시킨다" 라고 설명해주셨는데요
무슨 의미인지 잘 모르겠습니다 ^^;
적용되는 또는 적용될만한 상황을 조금 더 알려주실 수 있으실까요?
Câu trả lời 3
1
강의 들어주셔서 감사합니다. :)
아래 코드와 같이 터치, 휠 이벤트는 preventDefault를 사용하면 스크롤을 막을 수 있습니다.
<script>
function handle (event) {
event.preventDefault();
}
</script>
<div on:wheel={handle} on:touchmove={handle}></div>
<style>
div {
height: 200vh;
}
</style>
브라우저에서는 터치 혹은 휠 이벤트가 발생할 때 마다 스크롤을 할지 말지 결정을 해야 합니다. 스크롤이 발생하면 많은 이벤트가 발생하게 되는데, 이벤트 마다 스크롤을 할지 말지 판단하게 된다면 브라우저는 느려질 수 있습니다.
이때 passive 속성을 사용해서 브라우저에게 preventDefault를 사용해서 스크롤을 막지 않겠다고 알려줍니다. 그러면 브라우저는 항상 스크롤을 하는 것으로 인식하고, 스크롤 할지 말지 결정하는데 낭비되는 자원을 절약해서 성능을 향상 시킬 수 있게 됩니다.
참고가 될 만한 링크입니다.
http://sculove.github.io/blog/2016/12/29/addEventListener-passive/
https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
https://developer.mozilla.org/ko/docs/Web/API/EventTarget/addEventListener
프로젝트 실행이 되지 않아 menu API 테스트가 불가합니다 ㅠ
0
134
9
프론트 api.js의 요청 headers 옵션의 cors 관련 설정 질문
0
61
2
모듈 버전이 안맞아서 발생하는 문제 같습니다;;;
0
188
2
meteor 버전 때문에 실행이 안됩니다.
0
161
2
graghQL의 transaction 처리속도가 궁금합니다.
0
112
2
질문있습니다.
0
107
2
화면 구성 설명용 도구 이름
0
158
1
Meteor 실행 오류 문의 드립니다.
0
184
1
영호 좋아요 버튼이 콘솔에는 잘 찍히지만 화면에 렌더링 되지 않습니다.
0
129
2
영화목록 component 만들기 에서 질문이 있습니다.
0
209
3
"hello".toUpperCase() 가 안되는데요.
0
148
1
컴포넌트 이벤트
1
314
1
CDN이 뭔가요?
1
1663
1
혹시 다음 강의는 언제쯤??
1
333
2
강좌 범위는 아니지만요...
2
401
2
undefined 없애기
1
388
3
생명주기 중 afterUpdate가 동작하지 않는 이유를 모르겠습니다
2
464
2
질문드립니다 !
1
250
1
이 부분은 좀 어려운거 같아여
1
302
4
import Child 대소문자 차이
1
463
1
npm run dev not working
1
515
3
임포트하는 이유에 대해..
1
274
3
오류가 나요
0
303
1
프레임워크
0
217
1

