console.log
로 확인하는 경우 이벤트가 발생하면 내부에 여러 정보를 담은 객체를 반환한다.사용하고자 하는 요소.onevent = 실행시킬 함수
사용하고자 하는 요소.addEventListener('이벤트', function() {실행 시킬 함수})
addEventListener
를 사용할 경우 onevent 프로퍼티
와는 다르게 이벤트 앞의 on
을 제외하고 문자열로 작성한다.// 1번 방법
let div = document.querySelector('div')
function fn () {
console.log('hi')
}
div.onclick = fn
// 2번 방법
div.addEventListener('click', function() {
console.log('hi')
})
onevent
프로퍼티를 사용하여 작성하는 방식의 경우 같은 이벤트를 다시 활용하는 경우, 먼저 작성된 내용을 무시하고 뒤의 새로운 프로퍼티의 내용만 추가된다.addEventListener
의 경우 onevent
와는 다르게, 같은 이벤트여도 중복하여 추가 할 수 있다.let div = document.querySelector('div')
function hello () {
console.log('hello')
}
function bye () {
console.log('bye')
}
div.onclick = hello
div.onclick = bye
// 위의 hello 함수는 무시되고 bye 만 실행된다.
div.addEventListener('click', hello)
div.addEventListener('click', bye)
// hello 와 bye 모두 실행된다.
addEventListener
가 이벤트를 추가하고, 지우기가 용이하여 자주 사용된다.이벤트 핸들러(Event Handler)
라고 한다.onclick
→ 지정한 요소에 클릭이 발생 했을 때onmouseover
→ 지정한 요소에 마우스가 올라갔을 때onkeydown
→ 키보드가 눌렸을 때onkeyup
→ 키보드가 눌린 후 떨어질 때onsubmit
→ form
내부에서 제출버튼이 눌렸을 때onchange
→ select
또는 input text
, textarea
에서 변경이 일어난 경우https://plitche.github.io/language/javascript/2021-07-12-preventDefault/
a태그
를 클릭 하였을때, 클릭 이벤트의 작동을 막아 사이트가 이동 되는 것을 막아 줄 수 있다.submit
의 경우는 조금 다른데, 기존의 submit
버튼을 눌러 발생되는 새로고침을 막는 용도로 사용 할 수 있다.event
, 혹은 e
를 사용하자.let here = document.querySelector('.here')
here.addEventListener('click', fn)
function fn(e, b) {
console.log(e) // 이벤트 객체 출력
console.log(b) // undefined
}
event 객체.target.textContent
로 이벤트가 발생하는 요소 내부의 텍스트를 가져 올 수 있다.