[JS] event.preventDefault();

2023. 9. 6. 16:35·STUDY/JavaScript
728x90

 

event.preventDefault() 

event.preventDefault() 메서드는 이벤트의 기본 동작을 취소하는 JavaScript 메서드입니다.

 

예를 들어 사용자가 필수 필드를 모두 작성하지 않고 양식을 제출하지 못하도록 이벤트의 기본 작업을 방지할 수 있습니다 

e.preventDefault()다음은 이 방법을 사용하는 방법에 대한 몇 가지 예입니다 .

  • 필수 필드를 모두 작성하지 않은 채 양식이 제출되는 것을 방지합니다.
  • 링크를 따라가는 것을 방지합니다.
  • 파일이 업로드되는 것을 방지합니다.
  • 드래그 앤 드롭 작업이 완료되는 것을 방지합니다.

 

[예제1] a태그 링크로 이동하는 기본동작을 방지

<a href="https://rebornbb.tistory.com/" id="urlConnect">이동</a>
$("#urlConnect").click(function(){
  console.log(event);
  // 이벤트 기본동작 실행 막기
  // url 이동 막기
  event.preventDefault();
});

 

 

[예제2] 체크박스 기본 동작을 방지

<p>체크박스를 클릭해주세요.</p>

<form>
  <label for="id-checkbox">체크박스:</label>
  <input type="checkbox" id="id-checkbox" />
</form>

<div id="output-box"></div>
document.querySelector("#id-checkbox").addEventListener(
  "click",
  function (e) {
    alert("죄송합니다 preventDefault() 때문에 체크할 수 없어요");
    e.preventDefault();
  },
  false,
);

체크박스의 클릭 기본 동작은 체크박스를 체크하거나 체크 해제하는 것입니다.

이 예제는 체크박스의 클릭 기본 동작을 방지하는 모습을 보입니다.

 

 

[예제3] input 박스를 채우는 것을 방지

<input type="text" id="input"/>
const input = document.getElementById("input");

input.addEventListener("keypress", (event) => {
  const value = event.target.value;

  // 숫자만 허용하는 정규식을 사용한다.
  const regex = /^[0-9]*$/;

  if (!regex.test(value)) {
    // 숫자가 아닐 경우 이벤트를 방지한다.
    event.preventDefault();
    alert("숫자가아님");
  }
});

이 예제에서는 preventDefault()를 사용해서 사용자가 입력 칸에 원하지 않는 문자를 입력하지 못하도록 합니다. 

input에 숫자외에 텍스트를 입력하고 엔터를 누르면 숫자가아님이라는 경고창이 뜹니다.

728x90

'STUDY > JavaScript' 카테고리의 다른 글

[JS] 랜덤 컬러 생성하기  (0) 2023.09.08
[JS] JSON의 키와 값을 다루는 다양한 메소드  (0) 2023.09.06
[JS] 자바스크립트 동작원리 (Stack, Queue, event loop)  (0) 2023.08.30
[JS] 자바스크립트 템플릿 리터럴 - 백틱(`)과 달러(${ }) 사용법  (0) 2023.08.30
[JS] npm 정의와 npm 설치방법 정리  (0) 2023.08.30
'STUDY/JavaScript' 카테고리의 다른 글
  • [JS] 랜덤 컬러 생성하기
  • [JS] JSON의 키와 값을 다루는 다양한 메소드
  • [JS] 자바스크립트 동작원리 (Stack, Queue, event loop)
  • [JS] 자바스크립트 템플릿 리터럴 - 백틱(`)과 달러(${ }) 사용법
ReCode.B
ReCode.B
404 Brain Not Found
  • ReCode.B
    B의 개발 공부 기록
    ReCode.B
  • 전체
    오늘
    어제
  • 공지사항

    • 개인적 기록을 위한 블로그
    • 분류 전체보기 (679)
      • STUDY (527)
        • for Developer (25)
        • WEB (24)
        • HTML5 CSS3 (22)
        • JavaScript (102)
        • jQuery (30)
        • TypeScript (1)
        • JAVA (102)
        • SpringLegacy (46)
        • SpringBoot (41)
        • Vert.x (5)
        • DB SQL (86)
        • SERVER OS (34)
        • React (4)
        • C C++ C# (2)
        • EXCEL (3)
      • TOOL (66)
        • VCS (30)
        • Eclipse (23)
        • intelliJ (7)
        • VSCODE (6)
      • Programmers (31)
        • java (10)
        • javascript (15)
        • oracle (6)
      • Follow Work (54)
        • SpringbootBoard (54)
  • 블로그 메뉴

    • 방명록
  • hELLO· Designed By정상우.v4.10.0
ReCode.B
[JS] event.preventDefault();
상단으로

티스토리툴바