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 | 29 | 30 |
Tags
- JavaScript
- Ionic
- php
- angular
- error
- hashchange
- typescript
- 테두리굵기
- ChangeDetectorRef
- rxjs
- Git
- ion-range
- Sentry
- aab 배포
- zsh
- sealize
- angular5
- 자바스크립개념
- Visual Studio Code
- NVM
- 변화감지
- VSCode
- IONIC3
- border-width
- code .
- getElementsByClassName
- change detection
- oh-my-zsh
- 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 |