Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Git
- change detection
- typescript
- hashchange
- 자바스크립개념
- error
- zsh
- sealize
- 테두리굵기
- angular5
- ChangeDetectorRef
- Sentry
- JavaScript
- rxjs
- angular
- IONIC3
- Ionic
- aab 배포
- NVM
- php
- Visual Studio Code
- code .
- oh-my-zsh
- border-width
- getElementsByClassName
- 이미지바꾸기
- VSCode
- 변화감지
- ion-range
- fromEvent
Archives
- Today
- Total
hsunny study blog
브라우저의 기본 동작 막기 본문
자동으로 실행하는 브라우저의 동작들을 자바스크립트로 다루어야 하는 경우들이 있다.
자동으로 실행하는 브라우저 동작
- 링크를 클릭하면, 연결된 링크의 주소로 이동
- 폼 전송을 클릭했을 때, 서버에 폼이 전송
- 마우스를 클릭한채로, 글자를 드래그하면 선택
위 동작들을 막기 위한 방법으로는 2가지가 있다.
1. event 객체 사용한다. event 객체 안에 있는 preventDefault() 메서드를 사용한다.
2. 핸들러가 on<event>에 할당되었을 경우, return false를 반환하게 해 기본 동작을 막는다.
<a href="/" onclick="return false">첫번째 방식</a>
<a href="/" onclick="event.preventDefault()">두번째 방식</a>
위와 같이 기본동작이 막힌 경우, event 객체 안에 있는 defaultPrevented의 값은 true이다.
event.defaultPrevented 값을 사용하여, 버블링을 막는 방법 으로 사용하는 event.stopPropagation()을 용도를 대체할 수 있다.
event.stopPropagation()은 사용하는 구간을 dead zone으로 만들기 때문에, event.defaultPrevented를 활용하는 것이 좋다.
참고사이트
'programming > javascript' 카테고리의 다른 글
InputEvent 알아보기 (0) | 2023.02.03 |
---|---|
EventTarget.addEventListener()의 Passive 옵션 알아보기 (0) | 2022.01.13 |
타입스크립트 잘 사용하기 (0) | 2021.09.07 |
스코프 (Scope, 유효범위) (0) | 2021.09.04 |
예외처리 (0) | 2021.04.08 |