-
[Svelte] 스벨트에서의 event capture와 bubblingJavascript & TypeScript 2022. 12. 17. 13:26반응형
아래코드는 버튼 click 시 stopPropagation에 의해 button 이벤트만 실행된다.
<script> function handleClick(e) { console.log(e); } </script> <div id="test" on:click={e => handleClick('div')}> <button on:click|stopPropagation={e => handleClick('button')}> Click me </button> </div> <style> #test { background-color : black; } </style>
버튼을 눌렀을 때, 버튼 event 가 아닌, div의 click 이벤트가 동작하게 처리하려면 아래와 같이 수정해야 한다.
<script> function handleClick(e) { console.log(e); } </script> <div id="test" on:click|capture|stopPropagation={e => handleClick('div')}> <button on:click|capture={e => handleClick('button')}> Click me </button> </div> <style> #test { background-color : black; } </style>
링크
Events / Event modifiers • Svelte Tutorial
developer.mozilla.org / 이벤트 버블링과 캡쳐반응형'Javascript & TypeScript' 카테고리의 다른 글
[Typescript] swagger로 httpClient code를 자동 생성해주는 도구 swagger-typescript-api 소개 (0) 2023.01.29 [Vite] 로컬 개발환경에서 https 도메인 설정하기 (0) 2022.12.24 [React] ffmpeg.wasm 메모리 누수 문제 해결 (1) 2021.05.08 [Javascript] 브라우저에서 사용하는 인코딩 및 디코딩 패키지 ffmpeg.wasm 소개 (2) 2021.05.05 [Javascript Event] Drop 이벤트에 preventDefault, stopPropagation를 적용해도 동작하지 않는 현상 해결 (0) 2021.04.27