[ 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 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

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

  • 최근 글

  • 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 + /
⇧ + /

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