onblur
: focus์์ ๋ฒ์ด๋ฌ์ ๋ ์๋๋จcss
* { margin: 0; padding: 0; }
body { background: #BDCDD6; }
body > div { width: 400px; margin: 150px auto; padding: 2px; border: 3px solid #7170b4; border-radius: 15px; }
h1 { margin: 10px 0; text-align: center; }
h2 { color: #5f689e; margin-bottom: 30px; text-align: center; }
h1 img { width: 150px; }
/* ์ฌ์ฉ์ ์ง์ */
#feedback_wrap { height: 30px; }
#feedback {
padding-left: 30px;
background: url("../img/event_alarm.png") no-repeat;
}
form {
padding: 0 50px 20px; /* ์ ์ข์ฐ ํ */
}
label {
display: block;
padding: 20px 0 5px;
}
input[type="text"],
input[type="pw"] {
width: 100%;
padding: 10px;
border: none;
border-radius: 5px;
}
input[type="text"]:focus,
input[type="pw"]:focus {
outline: none;
background: #e7f6ff;
}
.submit {
padding-top: 10px;
text-align: right;
}
input[type="submit"] {
padding: 10px;
border: none;
border-radius: 5px;
background: #849dca;
color: #fff;
}
input[type="submit"]:hover { background: #5f689e; }
html
<div id="page">
<h1><img src="./img/kiwi_icon.png" alt="" /></h1>
<h2>๋ ๋ฒ์งธ ์ ๋ชฉ</h2>
<form action="">
<div id="feedback_wrap">
<div id="feedback">ํผ๋๋ฐฑ์ด ๋ค์ด๊ฐ๋ ๋ถ๋ถ</div>
</div>
<label for="username">์ฌ์ฉ์ ์ด๋ฆ : </label>
<input type="text" id="username"> <!-- label์ ์ฐ๊ฒฐ -->
<label for="pw">๋น๋ฐ๋ฒํธ : </label>
<input type="text" id="pw"> <!-- label์ ์ฐ๊ฒฐ -->
<div class="submit">
<input type="submit" value="LOG IN">
</div>
</form>
</div>
js
//์์ 1 - html ํ๊ทธ์ ์ง์ ์ฌ์ฉ
// ๋ชจ๋ ์์ ์์ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ๋ถ๋ถ
const elName = document.getElementById("username");
const elMsg = document.getElementById("feedback");
let myName;
function checkName() {
// ์์ 1 ~ 4์ if๋ฌธ
if (elName.value.length < 5) {
elMsg.textContent = "์ด๋ฆ์ 5๊ธ์ ์ด์ ์จ์ฃผ์ธ์";
}
// ์์ 5์ if๋ฌธ
myName = elName.value; // ๋ฐ์์จ ์
๋ ฅํ ๋ด์ฉ์ myName ๋ณ์์ ๋ฃ๋๋ค.
if (elName.value.length < minLength) {
elMsg.textContent = `${myName}๋, ์ด๋ฆ์ ${minLength}๊ธ์ ์ด์ ์จ์ฃผ์ธ์`;
}
}
// ์์ 2 script ์ถ๊ฐ. html ํ๊ทธ์ onblur ์์ ๋ ์ฌ์ฉ
// elName.onblur = checkName();
// ํจ์์ ()๊ฐ ์์ผ๋ฉด ์ด๋ฒคํธ๋ก ์คํ๋๋ ๊ฒ์ด ์๋๋ผ ๋ก๋๋ ๋ ํจ์๊ฐ ๋ฐ์๋จ
elName.onblur = checkName;
// ์์ 3 script ์ถ๊ฐ
elName.addEventListener("blur", checkName);
// Element.addEventListener("event", function);
// ์์ 4 script ์ถ๊ฐ (IE9์ดํ ๋ฒ์ ์ ์ด๋ฒคํธ ๋ฆฌ์ค๋)
// elName.addEventListener("event", function) - IE9 ์ด์ ๋ฒ์
if (elName.addEventListener) { // ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ์ธ์ํ์ ๋
elName.addEventListener("blur", checkName)
} else {
elName.attachEvent("blur", checkName)
// attachEvent() : JS ์ด์ฐฝ๊ธฐ Web API
}
// ์์ 5 script ์ถ๊ฐ
// elName.addEventListener("event", function) - IE9 ์ด์ ๋ฒ์
elName.addEventListener("blur", function() {
checkName(myName, 7);
});
// ํจ์์ ๋งค๊ฐ๋ณ์๊ฐ ํ์ํ ๋๋ ์ง์ ()๋ฅผ ์ธ ์ ์์ด์ function(){}์ ์ด์ฉ
// ์์ 6 script ์ถ๊ฐ - focus()
function autoFocus() {
elName.focus();
}
// ํ๋ฉด์ด ์คํ๋ ๋ ์๋
window.addEventListener("load", autoFocus);
// ์๋์ ๊ฐ์ ์ฝ๋. ์๋ ์ฝ๋๋ ํจ์๋ฅผ ํ๋ฒ์ ์ง์ ํ ๊ฒ
// window.addEventListener("load", function() {
// elName.focus();
// });
์์ 1 ~ 4
์์ 5, 6