웹 페이지 또는 앱에서 사용자 상호 작용을 감지하고 처리하기 위한 중요한 개념입니다. 이벤트는 사용자의 행동(예: 클릭, 마우스 이동, 키보드 입력 등) 또는 브라우저 또는 웹 페이지 자체에서 발생할 수 있는 것들(예: 페이지 로드, 리사이징, 네트워크 요청 완료 등)을 나타냅니다.
align-items/content는 부모 요소의 자식들 전체를 묶어서 정렬을 해주는 반면,
부모 요소의 자식 아이템들을 각각 다른 방식으로 정렬하고 싶다면 (정렬을 개별로 설정하고 싶다면)
( 문서 객체 모델(The Document Object Model, 이하 DOM) 은 HTML, XML 문서의 프로그래밍 interface 이다.)
웹요소.이벤트 = 함수
<<
querySelector: id(#)나 클래스명(.) , div
요소.getElementById: ID
getElementByClassName
getElementByTagName
차이 요약: getElementById은 ID를 사용하며 유일한 요소를 선택합니다. getElementsByClassName은 클래스 이름을 사용하며 여러 요소를 선택합니다. getElementsByTagName은 태그 이름을 사용하며 여러 요소를 선택합니다. 각 메서드는 선택된 요소 또는 요소 컬렉션을 반환하므로 반환된 결과를 순환하거나 조작할 수 있습니다.
JavaScript 코드의 위치가 DOM 조작 및 실행 순서에 영향을 미칠 수 있습니다.
HTML 파싱: 브라우저는 HTML 문서를 위에서 아래로 파싱하면서 문서의 구조를 이해합니다. 만나는 요소나 스크립트 태그에 따라 DOM 트리가 구성됩니다.
스크립트 로딩: 스크립트 태그(<script>)를 만나면 해당 스크립트 파일을 다운로드하고 실행합니다. 스크립트 파일이 로딩되는 동안 다른 HTML 요소의 파싱 및 로딩이 일시 중지됩니다.
스크립트 실행: 스크립트 파일이 다운로드되면 해당 스크립트가 실행됩니다. 스크립트가 실행되면서 DOM 조작 및 이벤트 처리를 수행할 수 있습니다.
스크립트가 <head> 안에 위치하는 경우: 이 위치에서 스크립트가 실행되는 동안, HTML 문서의 나머지 부분(예: <body> 내의 요소)은 아직 로딩되지 않았으므로 스크립트에서 DOM 요소를 찾지 못할 수 있습니다.스크립트가 <body> 안의 하단에 위치하는 경우: 일반적으로 권장되는 위치입니다. 스크립트가 HTML 문서의 나머지 요소를 찾을 수 있으며, 스크립트가 실행될 때 DOM이 이미 구성되어 있습니다.문서 로드 이벤트 사용: 스크립트가 페이지의 내용을 수정해야 하는 경우, 전체 문서가 로드된 후에 스크립트를 실행하도록 "DOMContentLoaded" 이벤트를 사용할 수 있습니다.
ㄴ 교재 243페이지에서 js에서 js로 요소를 클릭했을 때 동작하는 코드를 만들어 보겠다.
constboxEl=document.querySelector(".box");
console.log(boxEl);
boxEl.addEventListener("click", function () {
console.log("click");
});
// 이 부분에서 익명 함수(anonymous function)가 addEventListener 메서드에 전달되며, 이 함수는 "click" 이벤트가 boxEl 요소에서 발생할 때 실행됩니다. 따라서 "click" 이벤트가 발생하면 "click" 문자열이 콘솔에 출력됩니다.
F12번을 눌러서 박스부분을 클릭하면 클릭한 횟수가 뜬다
이런 걸 콜백함수라고 한다.
함수가 사용된 게 아니고 매개변수로 함수를 넘겨준 거다.
일단 넘겨받은 다음에 호출하게 된다.
addEventListener(이벤트가 나오고, 함수) 메서드 내에 전달된 함수는 콜백 함수(callback function)입니다. 콜백 함수는 이벤트가 발생했을 때 호출되며, 해당 이벤트가 발생할 때 어떤 동작을 수행할지 정의합니다.
콜백 함수는 주로 이벤트 처리, 비동기 작업, 타이머 처리 및 다양한 상황에서 사용됩니다.