My Space

반응형

기본적으로 a태그의 href 이벤트, form태그의 submit은 페이지를 전환하거나 리로드 된다.

이와 같은 기본 이벤트 동작들을 중단할 수 있다.

 

a태그를 눌렀을때 링크이동을 시키지 않을 경우,

form 태그의 submit를 눌렀을때 새로 실행하지 않고 싶을 경우 사용

const loginForm = document.querySelector("#login-form");

function onLoginSubmit(event) {
    event.preventDefault();
}

loginForm.addEventListener("submit", onLoginSubmit);

위와 같은 코드가 있을때, event.preventDefault(); 가 없으면 Log In 버튼을 클릭 했을시 

페이지가 리로드되어 "남아있나"라는 텍스트가 사라지게 되지만,

event.preventDefault();를 사용할 시 기본적인 동작을 멈추고 "남아있나"라는 텍스트가 유지된다.

 

※참 고

JS는 함수를 실행시키는 동시에 그 함수에 첫번째 인자로 object를 넣어준다.

즉,  loginForm.addEventListener("submit", onLoginSubmit); 호출시

onLoginSubmit({}); 가 제공되며 {}안에는 이벤트 정보 ojbect가 들어있다. 

 

통상적으로 JS에서 넣어주는 object를 event로 사용

이를 로깅해보면 여러 정보를 확인할 수 있다.

function onLoginSubmit(event) {
    console.log(event);
    event.preventDefault();
}

비슷한 함수로는 stopPropagation()이 있다. (부모 태그로 이벤트를 전파하는 것을 막음)

'Development > JSP, JS, JQUERY' 카테고리의 다른 글

classList(속성 변경)  (0) 2021.09.20
웹 스토리지(web storage)  (0) 2021.09.13
toggle(on/off)  (0) 2021.09.13
console.log(), console.dir() 차이  (2) 2021.09.12
getElementBy~ , querySelector 차이 (링크)  (0) 2021.09.12

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading