[ JavaScript ] 자바스크립트 기본 동작 취소(preventDefault)

2021. 2. 10. 01:47·Archive/Develop
목차
  1. 자바스크립트 기본 문법 : 기본 동작의 취소
  2. inline 방식
  3. property 방식
  4. addEventListener 방식
728x90
반응형

이미지 출처 :    https://commons.wikimedia.org/wiki/File:JavaScript-logo.png

 

 

 

 

 

 

해당 포스팅은 생활코딩의 이고잉 님의 강의를 기반으로 개인 공부용으로 정리한 포스팅임을 미리 알립니다.

 

 

 


 

자바스크립트 기본 문법 : 기본 동작의 취소

 

 

 

웹브라우저의 구성요소들은 각각 기본적인 동작 방법을 가지고 있습니다.

 

텍스트 필드에 포커스를 준 상태에서 키보드 입력이 들어오면 텍스트가 입력되고,

 

폼에서 submit 버튼을 누르면 데이터가 전송됩니다.

 

a 태그를 클릭하면 href 속성의 URL로 이동합니다.

 

 

 

이러한 기본적인 동작들을 기본 이벤트라고 하는데 ,

사용자가 만든 이벤트를 이용해서 이러한 기본 동작을 취소할 수 있습니다.

 

 

 

 

inline 방식

 

 

이벤트의 리턴값이 false이면 기본 동작이 취소됩니다.

 

 

 

예시를 들어보도록 하겠습니다.

 

 

 

<p>
    <label>prevent event on</label><input id="prevent" type="checkbox" name="eventprevent" value="on" />
</p>
<p>
    <a href="http://opentutorials.org" onclick="if(document.getElementById('prevent').checked) return false;">opentutorials</a>
</p>
<p>
    <form action="http://opentutorials.org" onsubmit="if(document.getElementById('prevent').checked) return false;">
            <input type="submit" />
    </form>
</p>

 

 

 

 

 

 

위 그림과 같이 prevent event on 에 체크가 되어있으면 a 태그를 클릭해도 url 이 넘어가지 않고,

 

제출 버튼을 클릭해도 submit 이 되지 않는 것을 확인할 수 있습니다.

 

 

 

 

 

 

property 방식

 

 

 

 

이 또한 리턴 값이 false 면 기본 동작이 취소됩니다.

 

 

 

<p>
    <label>prevent event on</label><input id="prevent" type="checkbox" name="eventprevent" value="on" />
</p>
<p>
    <a href="http://opentutorials.org">opentutorials</a>
</p>
<p>
    <form action="http://opentutorials.org">
            <input type="submit" />
    </form>
</p>
<script>
    document.querySelector('a').onclick = function(event){
        if(document.getElementById('prevent').checked)
            return false;
    };
     
    document.querySelector('form').onclick = function(event){
        if(document.getElementById('prevent').checked)
            return false;
    };
 
</script>

 

 

 

 

 

addEventListener 방식

 

 

이 방식에서는 이벤트 객체의 preventDefault 메소드를 실행하면 기본 동작이 취소됩니다.

 

 

앞선 두개가 리턴값을 false 로 동작을 취소하는 것과는 차이가 있습니다.

 

 

 

 

<p>
            <label>prevent event on</label><input id="prevent" type="checkbox" name="eventprevent" value="on" />
        </p>
        <p>
            <a href="http://opentutorials.org">opentutorials</a>
        </p>
        <p>
            <form action="http://opentutorials.org">
                    <input type="submit" />
            </form>
        </p>
        <script>
            document.querySelector('a').addEventListener('click', function(event){
                if(document.getElementById('prevent').checked)
                    event.preventDefault();
            });
             
            document.querySelector('form').addEventListener('submit', function(event){
                if(document.getElementById('prevent').checked)
                    event.preventDefault();
            });
 
        </script>

 

 

 

 

참고로, ie9 이하 버전에서는 event.returnValue 를 false 로 하는 방식을 사용해야합니다.

 

 

 

 

 

 

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ JavaScript ] 자바스크립트 기본 문법 | 문서로딩(load, DOMContentLoaded) | 스크립트 태그 위치  (0) 2021.02.10
[ JavaScript ] 자바스크립트 기본 문법 | 폼(form)태그 이벤트(submit, change, focus,blur)  (0) 2021.02.10
[ JavaScript ] 자바스크립트 기본 문법 | 이벤트 전파(버블링과 캡쳐링)  (0) 2021.02.09
[ JavaScript ] 자바스크립트 기본 문법 | 이벤트리스너(addEventListener, 클릭 이벤트)  (0) 2021.02.09
[ JavaScript ] 자바스크립트 기본 문법 | 문서의 기하학적 특성(스크롤 제어, Viewport, getBoundingClientRect())  (0) 2021.02.08
  1. 자바스크립트 기본 문법 : 기본 동작의 취소
  2. inline 방식
  3. property 방식
  4. addEventListener 방식
'Archive/Develop' 카테고리의 다른 글
  • [ JavaScript ] 자바스크립트 기본 문법 | 문서로딩(load, DOMContentLoaded) | 스크립트 태그 위치
  • [ JavaScript ] 자바스크립트 기본 문법 | 폼(form)태그 이벤트(submit, change, focus,blur)
  • [ JavaScript ] 자바스크립트 기본 문법 | 이벤트 전파(버블링과 캡쳐링)
  • [ JavaScript ] 자바스크립트 기본 문법 | 이벤트리스너(addEventListener, 클릭 이벤트)
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    카카오 100일 프로젝트
    javascript
    oracle db
    Django
    코드업
    보안뉴스
    파이썬
    코드업 기초
    파이썬 백준
    파이썬 알고리즘
    Python
    docker
    파이썬 문제
    파이썬 기초
    Codeup
    자바스크립트 객체
    C++
    백준 문제풀이
    백준 풀이
    장고
    코드업 파이썬 기초 100제
    자바스크립트
    백준 파이썬
    Oracle
    비박스
    자바스크립트 API
    Git
    백준
    파이썬 기초 문제
    오라클
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ JavaScript ] 자바스크립트 기본 동작 취소(preventDefault)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.