2023. 5. 3. 21:42ใStudy_Develop/ํฌ์ค์ฝ X ์ฝ๋ฉ์จ ๋ถํธ์บ ํ
[ํฌ์ค์ฝ X ์ฝ๋ฉ์จ ํ์คํ ์น๊ฐ๋ฐ์ ๋ถํธ์บ ํ 7๊ธฐ]
2์ฃผ ์ฐจ ํ๊ณ ๋ก ch.1
1์ฃผ์ฐจ html, css์์
๋
๊ฑด๋ฐฉ์ง๊ฒ ํ์งฑ ๋ผ๊ณ ์์
๋์ถฉ๋์ถฉ ๋ฃ๊ณ
์์
๋๋ ์ดํ์ ๋ณต์ต๋ ์ ํ๋
ํ์ฃผ๊ฐ ์ง๋๊ณ ,
2์ฃผ ์ฐจ ์์๊ณผ ํจ๊ป
์์
๋ด๋ด ๋ถ๋
ธ์ ํ์ดํ, ๊ทธ๋ฆฌ๊ณ ๊ฑฐ๋ถ๋ชฉ ์ํ๋ฅผ
์ ์งํ ์ฑ 6์๊ฐ ์์
์ ๋ค์๋ค.
js, jQuery๋ ํผ์ ๊น์ง ๊ฑด๋๋ ค๋ณด๊ณ
์ฒ์ ์ ๋๋ก ๋ฐฐ์ฐ๋๋ฐ,
๊ฝค๋ ํท๊ฐ๋ฆฌ๊ณ ์์ฉ๋ฌธ์ ๊ฐ ๋์ค๋ฉด
์ฝ๊ฐ์ ๋ฒํผ๋ง์ด ํ์ํ๋ค.
์ ๋๋ก ์ ๋ฆฌํด ๋์ด์ผ
๋์ค์ ๊น๋จน๋๋ผ๋,
๋ค์ ๊ฐ์ ์ด๋ฆด ์ ์์ ๋ฏํ๋ค.
๋ด๊ฐ ๋ณด๋ ค๊ณ ์ ๋ฆฌํด ๋ ๊ธ์ด๋
๋ค์ ์ ์ ์ด ์์ ์ ์๋ค.
Javascript ์๋ฃํ
1. primitive(์์ด์ ์ธ, ์์์ ์ธ) ์๋ฃํ
1.1 Boolean
์ฐธ(true), ๊ฑฐ์ง(false) ๋ ์ค ํ๋์ ๊ฐ์ ๊ฐ๋ ์์
1.2 Number
์ซ์ ํ์ผ๋ก ์ ์์ ๋ถ๋ ์์์ , ๋ฌดํ๋ ๋ฐ NaN์ธ ์์
1.3 String
๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ผ ๋ ์ฌ์ฉ
1.4 Null
๋น ๊ฐ์ ๋ปํ๋ nullํ์
, ํ์
์ ์กด์ฌํ์ง๋ง ๊ฐ์ ์กด์ฌํ์ง ์๋๋ค.
1.5 Undefined
๊ฐ X, ํ์
X
2. Object ์๋ฃํ
2.1 ๊ฐ์ฒด ์๋ฃํ
๊ฐ์ฒด๋?
์ค์ํ์์ ์ฐ๋ฆฌ๊ฐ ์ธ์ํ ์ ์๋ ์ฌ๋ฌผ
var cat={
name:"๋๋น",
age: 1,
mew:function(){
return "๋์น";
}
};
2.2 ์ฐธ์กฐ ์๋ฃํ
๋ฐฐ์ด - ์ซ์ํ๊ณผ ๋ฌธ์์ด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก
์ผ๋ฐ์ ์ธ ์คํฌ๋ฆฝํธ์ ๋์ผ
์์ฑ๋ฐฉ๋ฒ!
var arr1= [1, 2, 3, "์๋
", "๋ฐ๊ฐ์"];
var arr2= new Array(1, 2, 3, "์๋
", "๋ฐ๊ฐ์");
[ ]๋ new Array()๋ฅผ ์ด์ฉํด ์์ฑํ๋ค.
var me={
name: 'kyuti',
birth:'1115'
};
me['gender']='F';
console.log(me);
me์ gender: 'F'
๊ฐ ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์.
Javascript ํ์ค๊ฐ์ฒด
- ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด๋ค
- ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๋ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ๋๊ตฌ๋ค
- String, Number, Array, Date, Math...
1. Date ๊ฐ์ฒด
Javascript์์ ๋งค ์๊ฐ ๋ฐ๋๋ ์๊ฐ๊ณผ ๋ ์ง์ ๊ดํ
์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฐ์ฒด
getFullYear() : ๋
๋๋ฅผ ์ถ๋ ฅํ๋ ํจ์
console.log(date.getFullYear()); //2023
getMonth() : ์์ ์ถ๋ ฅํ๋ ํจ์
๋จ, 0๋ถํฐ ์์, 1์์ 0
๊ทธ๋์, +1์ ํด์ค์ผ ํ์ฌ ์์ ์ ์ ์์
console.log(date.getMonth()); //ํ์ฌ 3์์ด๋ฉด 2
getDate(): ๋ ์ง๋ฅผ ์ถ๋ ฅํ๋ ํจ์
console.log(date.getDate()); //27
getDay() :์์ผ์ ์ถ๋ ฅํ๋ ํจ์
์์์ผ=1, ํ์์ผ=2, ์์์ผ=3,...
console.log(date.getDay()); //3
2. Math ๊ฐ์ฒด
์ํ์์ ์์ฃผ ์ฌ์ฉํ๋ ์์์ ํจ์๋ค์
๋ฏธ๋ฆฌ ๊ตฌํํด ๋์ javascript ํ์ค ๋ด์ฅ ๊ฐ์ฒด
Math.ceil() : ์์๊ฐ์ด ์กด์ฌํ ๋ ๊ฐ์ ์ฌ๋ฆฌ๋ ํจ์
var val = 324.6;
document.write("Math.ceil(val) : " + Math.ceil(val) + "<br>");
Math.floor ์ฌ์ฉ๋ฐฉ๋ฒ (๋ด๋ฆผ)
Math.round ์ฌ์ฉ๋ฐฉ๋ฒ (๋ฐ์ฌ๋ฆผ)
javascript DOM
1. DOM?
Document Object Model(๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ)
xml์ด๋ html ๋ฌธ์์ ์ ๊ทผํ๊ธฐ ์ํ
์ผ์ข
์ ์ธํฐํ์ด์ค๋ก ๋ฌธ์ ๋ด์ ๋ชจ๋ ์์๋ฅผ ์ ์ํ๊ณ ,
๊ฐ๊ฐ์ ์์์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
-> ๋ณดํต ์ด๋ฐ ๊ตฌ์กฐ์ด๋ค.
Javascript Document
Document
์น ํ์ด์ง์ ์กด์ฌํ๋ HTML์์์ ์ ๊ทผํ์ฌ
ํ๋์ ํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๊ฐ์ฒด
์์ ์ ํ
. append() ๋ฉ์๋
์ ํ๋ ์์์ ๋ง์ง๋ง์
์๋ก์ด HTML ์์๋ ์ฝํ
์ธ ๋ฅผ ์ถ๊ฐํ๋ค.
<ol id="list">
<li>์ฒซ ๋ฒ์งธ ์์ดํ
</li>
<li>๋ ๋ฒ์งธ ์์ดํ
</li>
</ol>
์์ ๊ฐ์ด HTML์์๊ฐ ์์ ๋,
. append() ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ฉด, ๋ ๋ฒ์งธ <li> ๋ค์
์๋ก์ด HTML์์๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
$("#list").append("<li>์๋ก ์ถ๊ฐ๋ ์์ดํ
</li>");
. prepend() ๋ฉ์๋
์ ํํ ์์์ ์ฒซ ๋ฒ์งธ์ ์๋ก์ด ์์๋ ์ฝํ
์ธ ๋ฅผ ์ถ๊ฐํ๋ค.
. appendTo() ๋ฉ์๋
์ ํํ ์์์ ํด๋น ์์์ ๋ง์ง๋ง์ ์ถ๊ฐํ๋ค.
append() ๋ฉ์๋์ ๋์ผํ์ง๋ง, ์์ค(source)์ ํ๊น(target)์
์์น๊ฐ ์๋ก ๋ฐ๋๋ก ๋์ด ์๋ค.
$(source).appendTo(target)
์ฒซ ๋ฒ์งธ <p> ๋ค์ ์๋ก์ด HTML์์๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
<p>์๋
ํ์ธ์.</p>
$("<span>jQuery์
๋๋ค.</span>").appendTo("p");
. prependTo() ๋ฉ์๋
ํด๋น ์์์ ์ฒซ ๋ฒ์งธ์ ์ถ๊ฐํ๋ค.
Javascript ์ด๋ฒคํธ ๋ฆฌ์ค๋
- ์ฌ์ฉ์์ ํ๋์ ๋ฐ์ํ๋ ์์
- ์ฌ์ฉ์๋ก๋ถํฐ ํน์ ํ๋์ด ๊ฐ์ง๋๋ฉด, ๊ทธ์ ๋ฐ๋ฅธ ๋ฐ์์ ํจ
Javascript event listener ๋ฑ๋กํ๋ ๋ฐฉ์
1. ์ธ๋ผ์ธ ๋ฐฉ์
- ์ด๋ฒคํธ๋ฅผ HTML ์์์ ์์ฑ์ผ๋ก ์ง์ ์ง์ ํ๋ ๋ฐฉ์
- HTML ์ฝ๋์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ถ๊ฐํจ์ผ๋ก์จ ๊ฒฐ๊ตญ HTML์ฝ๋์ ์คํฌ๋ฆฝํธ๊ฐ
์์ฌ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ๊ด์ ์ ๋ฐ๋ผ ์ ์ง๋ณด์์ ์ฉ์ดํ์ง ์์ ๊ฒ์ด๋ค.
<body>
<button onclick="testHandler()">Test</button>
<script>
function testHandler() {
alert('Hello world');
}
</script>
</body>
<body>
<button onclick="alert('Hello world');">Test btn</button>
</body>
2. onXXXX์์ฑ (ex. onClick) ๋ฐฉ์
- html ์ฝ๋์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์์ฌ
์ฌ์ฉ๋์ง ์๋๋ค.
- ํ๋์ ์ด๋ฒคํธ ํธ๋ค๋ฌ ํ๋กํผํฐ์
ํ๋์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ง ๋ฐ์ธ๋ฉ ๊ฐ๋ฅํ๋ค.
let testBtn = document.querySelector('#testBtn');
testBtn.onclick = function () {
alert('Hello world1');
};
// ๋๋ฒ์งธ ๋ฐ์ธ๋ฉ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ (ํ๋์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ง ๋ฐ์ธ๋ฉ ๊ฐ๋ฅํ๊ธฐ๋๋ฌธ์ "Hello world2"๊ฐ ๋
ธ์ถ ๋๋ค.
testBtn.onclick = function () {
alert('Hello world2');
};
-> ๋ง์ง๋ง์ผ๋ก ๋ง๋ค์ด์ง ํจ์๊ฐ ๋ฐ์ธ๋ฉ๋๋ค.
3. addEventListener() ๋ฉ์๋ ๋ฐฉ์
- onXXXX ๋ฐฉ์์์๋ 1๊ฐ์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ง ๋ฐ์ธ๋ฉ ๊ฐ๋ฅํ์ง๋ง,
addEventListener() ๋ฐฉ์์ ํ๋ ์ด์์
์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ๋ฐ์ธ๋ฉํ๋ค๋ ํน์ง์ด ์๋ค.
- ๊ฐ์ฒด. addEventListener('์ด๋ฒคํธํ์
', ํจ์๋ช
[, ์ด๋ฒคํธ์ ํ๋ฐฉ์];
<body>
<button id="testBtn2">Test</button>
</body>
<script> let testBtn2 = document.querySelector('#testBtn2');
function testFunc(){
alert('Hello world1');
}
testBtn2.addEventListener('click', testFunc);
testBtn2.addEventListener('click', function () {
alert('Hello world2');
});
}
</script>
-> Hello World1์ด alert๋ก ์ถ๋ ฅ๋๊ณ ,
Hello World2๊ฐ ๋ alert๋ก ์ถ๋ ฅ๋จ.
jQuery
์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด๋ฅผ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก
๋จ์ํ์ํจ ์คํ์์ค ๊ธฐ๋ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ฃผ์ ์น ๋ธ๋ผ์ฐ์ ์ ๊ตฌ๋ฒ์ ์ ํฌํจํ
๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ์์ ์ง์ ๊ฐ๋ฅ
- HTML DOM๋ฅผ ์์ฝ๊ฒ ์กฐ์ ๊ฐ๋ฅํ๋ฉฐ,
CSS์คํ์ผ๋ ๊ฐ๋จํ ์ ์ฉ ๊ฐ๋ฅํ๋ค.
- ์ ๋๋ฉ์ด์
ํจ๊ณผ๋ ๋ํํ ์ฒ๋ฆฌ๋ฅผ
๊ฐ๋จํ๊ฒ ์ ์ฉ๊ฐ๋ฅํ๋ค.
- ๊ฐ์ ๋์์ ํ๋๋ผ๋ ๋์ฑ ์งง๊ฒ ๊ตฌํ ๊ฐ๋ฅํ๋ค.
$๋ jQuery() ํจ์์ ์ถ์ฝ ํํ๋ก,
์๋ณ์์ ์ญํ ์ ํ๋ค.
JQuery ๋ฉ์๋
1. ๊ฐ ๊ฐ์ ธ์ค๊ธฐ & ์ค์ ํ๊ธฐ
<input type="text"/>
<button onClick="getValue()">๊ฐ ๊ฐ์ ธ์ค๊ธฐ</button>
<button onClick="setValue()">๊ฐ ์ค์ ํ๊ธฐ</button>
function getValue(){
let value=$('input').val();
console.log(value)
}
function setValue(){
$('input').val('ํจ์ค์๋๋ฅผ ์
๋ ฅํ์ธ์')
}
2. Style ๋ณ๊ฒฝํ๊ธฐ
์์ 1.
<h2>css()</h2>
<div id="change">๋ณ๊ฒฝํด์ฃผ์ธ์</div>
<button onClick="changeJs()">js๋ก ๋ฐ๊พธ๊ธฐ</button>
<button onClick="changeJquery()">jquery๋ก ๋ฐ๊พธ๊ธฐ</button>
<button onClick="getJquery()">jquery๋ก CSS๊ฐ ๊ฐ์ ธ์ค๊ธฐ</button>
function changeJs(){
let span= document.querySelector('#change')
span.style='font-size: 20px; color: red;'
}
function changeJquery(){
$('#change').css({"font-size": "40px", "color": "blue"})
}
function getJquery(){
console.log($("#change").css('color'))
}
์์ 2.
<h2>html()</h2>
<p id="html">์๋
ํ์ธ์</p>
<button onClick="changeHtmlJs()">js๋ฐ๊พธ๊ธฐ</button>
<button onClick="changeHtmlJquery()">jquery๋ก ์ฃผ์๋ฐ๊พธ๊ธฐ</button>
function changeHtmlJs(){
let p = document.querySelector('#html')
p.innerHTML='<h3>javascript</h3>'
}
function changeHtmlJquery(){
$('#html').html('<h1>Jquery</h1>')
}
3. ์์ฑ ๋ณ๊ฒฝํ๊ธฐ
<h2>attr()</h2>
<a href="https://www.naver.com" target="_blank" id="move">์ด๋ํ์ธ์</a>
<button onClick="changeAttr()">์ฃผ์๋ฐ๊พธ๊ธฐ</button>
<button onClick="changeAttraJs()">JS๋ก ์ฃผ์๋ฐ๊พธ๊ธฐ</button>
function changeAttr(){
$("#move").attr('href', 'https://www.google.com')
}
function changeAttraJs(){
let a=document.querySelector('#move')
a.setAttribute('href', 'https://www.daum.net')
}
4. Text๋ณ๊ฒฝํ๊ธฐ
<h2>text()</h2>
<p id="text">์๋
ํ์ธ์</p>
<button onClick="changeTextJs()">js๋ฐ๊พธ๊ธฐ</button>
<button onClick="changeTextJquery()">jquery๋ก ์ฃผ์๋ฐ๊พธ๊ธฐ</button>
function changeTextJs(){
let p=document.querySelector('#text')
p.textContent="<h3>js์ฒด์ธ์ง</h3>"
}
function changeTextJquery(){
$('#text').text("<h1>jquery์ฒด์ธ์ง</h1>")
}
๊ฒฐ๊ณผ>
-> textContent๋ < > ํ๊ทธ ์์ ๋ฃ์ด๋ ์ ์ฉ๋์ด ๋ฐ๋์ง ์์!
5. HTML ๋ณ๊ฒฝํ๊ธฐ
<h2>html()</h2>
<p id="html">์๋
ํ์ธ์</p>
<button onClick="changeHtmlJs()">js๋ฐ๊พธ๊ธฐ</button>
<button onClick="changeHtmlJquery()">jquery๋ก ์ฃผ์๋ฐ๊พธ๊ธฐ</button>
function changeHtmlJs(){
let p = document.querySelector('#html')
p.innerHTML='<h3>javascript</h3>'
}
function changeHtmlJquery(){
$('#html').html('<h1>Jquery</h1>')
}
-> innerHTML์ ์ฌ์ฉํ๋ฉด, `< > ๋ณ๊ฒฝ๋ด์ฉ <>`์ด
ํ๊ทธ๋ฅผ ์ ์ธํ๊ณ , ์ ๋๋ก
๋ณ๊ฒฝ๋ด์ฉ์ผ๋ก ๋ณ๊ฒฝ๋จ.
` (๋ฐฑํฑ)
6. ์์ ์ถ๊ฐํ๊ธฐ
<ul class="colors">
<li class="orange">orange</li>
<li class="green">green</li>
<li class="navy">navy</li>
</ul>
<h6>append() - ์ ํ๋ ์์์ ์์ ์์ ์ค ๋ง์ง๋ง์ ์ถ๊ฐ</h6>
<button onClick="appendJS()">js๋ฐ๊พธ๊ธฐ</button>
<button onClick="appendJquery()">jquery๋ฐ๊พธ๊ธฐ</button>
function appendJS(){
let ul = document.querySelector('.colors')
let li = document.createElement('li')
li.innerHTML = '๋ง์ง๋ง ์์'
ul.append(li)
}
function appendJquery(){
$('.colors').append('<li> jquery ์์์ถ๊ฐ <li>')
}
๊ฒฐ๊ณผ>
7. ์์ ์ญ์ ํ๊ธฐ
<ul class="nums">
<li>1</li>
<li id="li2">2</li>
<li>3</li>
</ul>
function removeJs(){
let li = document.querySelector('#li2')
li.remove()
}
function removeJquery(){
$('#li2').remove()
}
8. ์์ ํ์ํ๊ธฐ
<button onClick="findParent()">๋ถ๋ชจ์ฐพ๊ธฐ</button>
<button onClick="findParents()">์กฐ์์ฐพ๊ธฐ</button>
function findParent(){
console.log($('.child:nth-child(2)').parent())
}
function findParents(){
console.log($('.child2').parents())
}
๊ฒฐ๊ณผ>
9. ํด๋์ค ์กฐ์ํ๊ธฐ
<p class="origin-class">๊ธฐ์กด ํด๋์ค</p>
<button onClick="addClass()">ํด๋์ค ์ถ๊ฐ</button>
<button onClick="addClassJs()">jsํด๋์ค ์ถ๊ฐ</button>
<button onClick="removeClass()">ํด๋์ค ์ญ์ </button>
<button onClick="removeClassJs()">jsํด๋์ค ์ญ์ </button>
function addClass(){
$('.origin-class').addClass('add-class')
}
function addClassJs(){
let p = document.querySelector(".origin-class")
p.classList.add('add-class')
}
function removeClass(){
$('.origin-class').removeClass('origin-class')
}
function removeClassJs(){
let p = document.querySelector(".origin-class")
p.classList.remove('origin-class')
}
Jquery ์ด๋ฒคํธ ๋ฆฌ์ค๋
1. click : ๋ง์ฐ์ค ๋ฒํผ ํด๋ฆญํ์ ๋
<div class="hello">์๋
ํ์ธ์</div>
<div class="numbers">
<div class="num">one</div>
<div class="num">two</div>
<div class="num">three</div>
<div class="num">four</div>
</div>
$('.hello').click(function(){
$('.hello').css('color', 'red')
})
$('.num').click(function(){
// $('.num').css('color', 'blue') //์ ์ฒด ๋ค ์ ํ ๋จ
$(this).css({'color': 'blue', 'font-weight':"bold"}) //๋๋ฅธ์ ๋ง ์ ํ ๋จ
})
$('.num').on('click', function(){
$(this).css({'color': 'red', 'font-weight': 'bold'})
})
+) this์ ์ญํ !
1. ์๋ฐ์คํฌ๋ฆฝํธ์์์ this
์๋ฐ์คํฌ๋ฆฝํธ์์์ this๋ ํ์ฌ ์คํ ์ฝํ
์คํธ์์ ์ฐธ์กฐ๋๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
์ด๋ฐ์ ์ผ๋ก๋ ํจ์ ๋ด์์ ์ฌ์ฉ๋๋ฉฐ, ํจ์ ํธ์ถ ๋ฐฉ์์ ๋ฐ๋ผ
this๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋๋ค.
2. jquery์์์ this
์ ์ด์ฟผ๋ฆฌ์์ $(this)๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ด์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ์ญํ ์ ํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ this this๋ ํ์ฌ ์คํ ์ฝํ
์คํธ์์ ์ฐธ์กฐ๋๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ,
$(this)๋
<button class="btn">Button</button>
<script>
$('.btn').click(function() {
console.log(this); // ํ์ฌ ์คํ ์ปจํ
์คํธ์์ ์ฐธ์กฐ๋๋ ๊ฐ์ฒด
console.log($(this)); // ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์์
});
</script>
์์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด, ์๋ฐ์คํฌ๋ฆฝํธ์ this ๊ฒฝ์ฐ๋ ํ๊ทธ๊ฐ ํ์๋๊ณ ,
์ ์ด์ฟผ๋ฆฌ $(this)์ ๊ฒฝ์ฐ๋ ํ๊ทธ ์์์ ์ ๋ณด๋ฅผ ๋ด์ Object๋ก ํ์๋๋ค.
๋ง์ผ ์ ์ด์ฟผ๋ฆฌ ๊ฐ์ฒด์์ ์๋ฐ์คํฌ๋ฆฝํธ this์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ธฐ ์ํด์๋
$(this)[0]๋กthis===$(this)[0]์ธ ๊ฒ์ด๋ค.
2. mouseover : ๋ง์ฐ์ค๋ฅผ ์์ ์๋ก ์์ง์์ ๋ &
mouseleave(=mouseout) : ๋ง์ฐ์ค๊ฐ ์์๋ฅผ ๋ฒ์ด๋ ๋
<div class="numbers">
<div class="num">one</div>
<div class="num">two</div>
<div class="num">three</div>
<div class="num">four</div>
</div>
$('.numbers').mouseover(function(){
//$('.numbers').css('background-color', 'green')
$(this).css('background-color', 'yellow')
})
$('.numbers').on('mouseleave', function(){
$(this).css('background-color', 'skyblue')
})
!! ๋น์ทํ ์ฉ์ด!!
- mouseenter, mouseover, hover : ๋ง์ฐ์ค๊ฐ ์์ ์์ผ๋ก ๋ค์ด๊ฐ๋ ์์ง์์ ๊ฐ์ง
- mouseleave, mouseout : ๋ง์ฐ์ค๊ฐ ์์ ๋ฐ์ผ๋ก ๋์ค๋ ์์ง์์ ๊ฐ์ง
3. keydown : ๋๋ฅด๊ณ ์๋ ํค๋ฅผ ๋ ๋
<input class="input-key" type="text"/>
$('.input-key').keydown(function(e){
//console.log(e.code)
if(e.code==='ArrowUp'){
console.log('up')
}else if(e.code==='ArrowRight'){
console.log('right')
}else if(e.code==='ArrowLeft'){
console.log('left')
}else if(e.code==='ArrowDown'){
console.log('down')
}else{
console.log('others')
}
})
$(".input-key").on('keydown', function(e){
console.log(e.code)
})
4. ํผ ์ด๋ฒคํธ input: input, textarea ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋์์ ๋
submit : ํผ์ ์ ์ถ(submit) ํ ๋
<h3>ํผ</h3>
<form action="/" id="todo-form">
<input type="text" name="todo"/>
<button>์ถ๊ฐ</button>
</form>
<ul class="todos"></ul>
$('#todo-form').submit(function(e){
e.preventDefault();
const todo=$('input[name=todo]').val()
console.log(todo)
$('.todos').append(`<li>${todo}</li>`)
$('input[name=todo').val("")//์
๋ ฅ ๊ฐ์ ๋ค์ ๋น ๋ฌธ์๋ก ์ค์
})
๊ฒฐ๊ณผ>
+) e.preventDefault(); ๋?
์ด๋ค ์ด๋ฒคํธ๋ฅผ ๋ช
์์ ์ผ๋ก ์ฒ๋ฆฌํ์ง ์์ ๊ฒฝ์ฐ,
ํด๋น ์ด๋ฒคํธ์ ๋ํ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ๋์์ ์คํํ์ง ์๋๋ก ์ค์ ํ๋ค.
์ฌ๊ธฐ๊น์ง 3์ผ ๋ง์ ๋ฐฐ์ด ๋ด์ฉ
์ด์ ๋ฆฌ์ด๋ค.
๋ค์ ํ๊ณ ๋ก์์๋
์ค์ต ๋ด์ฉ ๋ฌธ์ ํ์ด๋ฅผ ๋ค๋ฃฐ ์์ ์ด๋ค.
์ ๋ฐ์ ์ผ๋ก ๋ด์ฉ์ด ์์ฃผ ๋น ๋ฅด๊ฒ ์งํ๋๊ณ
์ค์ต๋ ์์ฐจ๊ฒ ์งํ์ ํ์ฌ
๋ฐ๋ผ๊ฐ๋ ค๋ฉด ๋งค์ผ๋งค์ผ ๋ณต์ตํ๊ณ ,
์์
์๊ฐ์ ๋ ๋นก์ธ๊ฒ ์ง์คํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
์ด์ง ๋น ๋ฅด๊ฒ ์งํ๋๋๋ฐ
์๋ ๋นจ๋ฆฌ๋นจ๋ฆฌ๋ฅผ ์ข์ํ๋ ๋๋ก์๋
๋ง์กฑ์ค๋ฌ์ด ๊ฒ ๊ฐ๋ค.
๋ค๋ง ๊ฑฑ์ ๋๋ ๊ฒ์ด ์๋ค๋ฉด,,
ํ๋ก์ ํธ ๋ ์๋ฌด๊ฒ๋ ๋ชปํด์
๋ฏผํ๊ฐ ๋ ๊ฒ ๊ฐ์..
๊ฑฑ์ ์ด ๋๊ธด ํ๋ค๋ง..ใ
์์์์
ํ์ดํ
ํด์ผ์ง ~
+)
๊ธ์ด ๋๋ฌด ๋ฐ๋ฐํ์ฌ
๋์ ์์ธ ์ ์๊ธฐ๋ฅผ
์ด์ง ๋ฃ์ด๋ณธ๋ค ใ
๊ณต๋ถ ์ข ํ๋ ค ํ๋๋ฐ
์ฒญ์ฃผ ์น๊ตฌ๋ค์ด ์์ธ ์๋ค๊ธธ๋..
ํ๋ค๋ฅ ๋ง๋๋ฌ ๊ฐ ๋ ~
ํ๊ฐ ๊ตฌ๊ฒฝํ๊ณ ์ดํ์์ ๋ค๋ ์๋ค.
์ ๋ฅ์ด์ฝ ๋ฒํฐ๋ง ์กด๋ง์ด๋ค.
์์ธ์ ์ทจ์งํ ํ๊ต ๋์๋ฆฌ ์ ๋ฐฐ๋ค๊ณผ ํจ๊ป
์ ๋ถํฐ ๊ฐ๋ณด๊ณ ์ถ์๋
๋ฌดํ๋์ ์ ์ด๋ฌด๊ฐ ์๋ค ํธ์ ๋์๋ ์ ์ง์ ๋ค๋ ์๋ค ใ ใ
์ง์ฅ์ธ์ ๋ง๋ ๋ํ๋ฅผ ํ๋
์ทจ์ ๊ฟํ์ ์ป๊ธฐ๋ ํ์ง๋ง
์ทจ์งํ๊ธฐ ์ซ๋ค ,, ๋ ์๊ฐ๋ ๋ ๋ค ใ ใ
ํด.. ๋ ๋ฒ๊ธฐ ์ฝ์ง ์๊ฒ ์ด~..
๊ทธ๋ผ ์ด๋ง!