간단한 회원가입 폼을 만드는데 라벨로 input을 감싸줬음에도 불구하고 input이 라벨의 width를 넘어 튀어나가는 현상 발생
=> 정답은 box-sizing을 border-box로 !!
<label>아이디 <input placeholder="아이디를 입력해주세요" class="wideInput" type="text" /></label>
border-box 이전
border-box 이후
++ 전체 요소에 border-box 설정해준 이후로 textarea 요소가 폼의 width만큼 늘어나지 않는 현상도 해결됐다
before
after
ex.
// html
<p id="testTxt">좋은 아침입니다 <span style="display: none;">피곤해요</span></p>
// Js
const testTxt = document.getElementById('testTxt');
console.log('innerHtml : ', testTxt.innerHTML);
console.log('innerText : ', testTxt.innerText);
console.log('textContent: ', testTxt.textContent);
결과
innerHtml : 좋은 아침입니다 <span style="display: none;">피곤해요</span>
innerText : 좋은 아침입니다
textContent : 좋은 아침입니다 피곤해요
이벤트 이름 | 설명 |
---|---|
onclick | 클릭 |
ondbclick | 더블클릭 |
onmouseover | 마우스 포인터를 올리면 |
onmouseout | 포인터가 빠져 나가면 |
onmousemove | 포인터가 움직이면 |
onwheel | 마우스 휠 움직이면 |
이벤트 이름 | 설명 |
---|---|
onkeypress | 키보드 버튼 누르는 동안 |
onkeydown | 키보드 버튼을 누른 순간 |
onkeyup | 키보드 버튼 눌렀다가 뗀 순간 |
이벤트 이름 | 설명 |
---|---|
onfocus | 요소가 포커스가 되면 |
onblur | 요소가 포커스를 잃으면 |
// Js
function clickBtn() {
console.log('클릭!!');
}
// Html
<button onclick="clickBtn()">클릭!</button>
// Js
const inpEl = document.getElementById('inp');
inpEl.onfocus = inputFocus;
function inputFocus() {
console.log('포커스됐지롱!!');
}
// Html
<input type="text" id="inp" />
// 미리 선언 후 연결
inpEl.addEventListener('focus', inputFocus);
// 바로 선언 (익명, 화살표)
inpEl.addEventListener('focus', function () {
console.log('안에서 바로 선언!');
})
inpEl.addEventListener('focus', () => {
console.log('안에서 바로 선언!2');
})
: 이벤트 함수가 호출될 때 내부적으로 전달되는 이벤트 정보가 담긴 객체
: 파라미터에 이름 붙여서 접근 가능
이벤트 객체 속성 | 설명 |
---|---|
clientX | 마우스가 클릭된 x좌표 (수평스크롤 포함X) |
clientY | 마우스가 클릭된 y좌표 (수직스크롤 포함X) |
pageX | 마우스가 클릭된 x좌표 (수평스크롤 포함O) |
pageY | 마우스가 클릭된 y좌표 (수평스크롤 포함O) |
screenX | 모니터의 왼쪽 위 모서리를 기준으로 마우스가 클릭된 x좌표 |
screenY | 모니터의 왼쪽 위 모서리를 기준으로 마우스가 클릭된 y좌표 |
const box = document.querySelector('.box');
// addEventListener 이벤트 마우스 이벤트정보
box.addEventListener('click', function (event) {
console.log(event.clientX, event.clientY);
console.log(event.pageX, event.pageY);
console.log(event.screenX, event.screenY);
})
결과
이벤트 객체 속성 | 설명 |
---|---|
keyCode | 키보드에서 눌린 키의 유니코드 값 반환 |
ctrlKey | ctrl키 눌리면 true, 아니면 false 반환 |
altKey | alt키 눌리면 true, 아니면 false 반환 |
shiftKey | shift키 눌리면 true, 아니면 false 반환 |
// Js
const inp = document.querySelector('input');
inp.addEventListener('keydown', (e) => {
console.log(e.keyCode);
})