ํ์ค์์ฝ: ์ธ๋ผ์ธ๋ฐฉ์๊ณผ ํ๋กํผํฐ ๋ฐฉ์์ ์์ ํ๋๋น ํ๋์ ์ด๋ฒคํธ ํ์ ๋ฆฌ์ค๋๋ง ๋ฑ๋ก ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ addEventListener ๋ฐฉ์์ ์ฐ์!
(์ฐธ๊ณ ) ์ด๋ฒคํธ๋ฅผ ์ฃผ๋ ๋ฐฉ๋ฒ
<๋ฐฉ๋ฒ1> ์ธ๋ผ์ธ ๋ฐฉ์
: ์ด๋ฒคํธ๋ฅผ ์ด๋ฒคํธ ๋์์ HTMLํ๊ทธ์ ์ง์ ์์ฑ์ผ๋ก ์ง์ ํ๋ ๋ฐฉ๋ฒ
<input type="checkbox" onclick="getCheck()" value="button" />
<script>
getCheck(){
...
}
</script>
<๋ฐฉ๋ฒ2> ํ๋กํผํฐ ๋ฆฌ์ค๋ ๋ฐฉ์
: ์ด๋ฒคํธ ๋์์ ํด๋นํ๋ ๊ฐ์ฒด์ '.'์ ์ฐ์ด ํ๋กํผํฐ๋ก ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ๋ ๋ฐฉ์
<input type="checkbox" value="button" class="check"/>
<script>
document.querySelector(.check).onclick = function(){
...
}
</script>
<๋ฐฉ๋ฒ3> ์ด๋ฒคํธ ๊ฐ์ฒด ๋ฐฉ์
: ie8 ์ดํ ๋ฒ์ ์์๋ ์ด๋ฒคํธ ๊ฐ์ฒด๋ฅผ ํธ๋ค๋ฌ์ ์ธ์๊ฐ ์๋๋ผ ์ ์ญ๊ฐ์ฒด์ event ํ๋กํผํฐ๋ก ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉฐ, target ํ๋กํผํฐ๋ ์ง์ํ์ง ์์ ์ถ์ฒํ์ง ์๋ ๋ฐฉ์
<input type="checkbox" value="button" class="check"/>
<script>
document.querySelector(.check).onclick = function(event){
...ie8์ดํ ๋ฒ์ ์์๋ event.target.value ์ฌ์ฉํ ์ ์์
}
</script>
โจ<๋ฐฉ๋ฒ4> addEventListener ๋ฐฉ์
โจ
(ํ๋์ ์ด๋ฒคํธ ๋์์ ๋ณต์์ ๋์ผ ์ด๋ฒคํธ ํ์
๋ฆฌ์ค๋๋ฅผ ๋ฑ๋ก๊ฐ๋ฅ)
<input type="checkbox" value="button" class="check"/>
<script>
const check = document.querySelector(.check)
check.addEventListener(click, getCheck(event)){
...
});
check.addEventListener(click, getCheck(event)){
...
});
</script>
[javascript]์ด๋ฒคํธ ๋ฆฌ์ค๋ - addEventListener
์ฐธ๊ณ 1: https://nevertrustbrutus.tistory.com/310
์ฐธ๊ณ 2: MDN
[css] ์ ํ์
์ฐธ๊ณ : https://webty.tistory.com/60
[javascript] document ๊ฐ์ฒด์ ๋ฉ์๋
์ฐธ๊ณ : http://www.tcpschool.com/javascript/js_dom_document
//์ฌ๋ฌ๊ฐ์๊ฒ ์ด๋ฒคํธ ์ค ๋:
document.querySelectorAll(์ ํ์)
//ํ๋์๊ฒ๋ง ์ด๋ฒคํธ ์ค ๋:
document.querySelector(์ ํ์)
[jquery ๋ฌธ๋ฒ]
์ฐธ๊ณ : https://soft91.tistory.com/9
์ด๋ฒคํธ ์ข
๋ฅ(Type) - click, scroll...
์ฐธ๊ณ 1: http://milooy.github.io/TIL/JavaScript/event.html
์ฐธ๊ณ 2: MDM
โjquery ์์ฌ ์์ ์ฃผ์! jquery ์ธ ๋ head์ cdn์ถ๊ฐํ๊ธฐ
<script src="https://code.jquery.com/jquery-3.6.3.min.js"
integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU="
crossorigin="anonymous"></script>
์๋ ์ฝ๋๋ ํฌ๊ฒ๋ณด๋ฉด input์ ๋ํด ์ด๋ฒคํธ๊ฐ ๋๊ฐ์๋ค!
document.querySelector('#bid_input').addEventListener('input', e=>{...})
document.querySelector('#bid_input').addEventListener('blur', e=>{...})
<input type="number" maxlength="10" placeholder="ํฌ๋ง๊ฐ ์
๋ ฅ"
autocomplete="off" id="bid_input" style="display:none">
<script>
//input: input/textarea์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋
document.querySelector('#bid_input').addEventListener('input', e=>{
let str_price=e.target.value;
// ์ซ์ ์ธ ์
๋ ฅ ๋ถ๊ฐ (์ซ์๋ 10๊ธ์๊น์ง)
if (str_price.length > e.target.maxLength){
e.target.value = str_price.slice(0, e.target.maxLength);
}
// .price_now์ has_danger has_warning์ถ๊ฐ
if(str_price < 30000 ){
pricebox.classList.add('has_warning')
pricebox.classList.add('has_danger')
errormsg.style.display="block"
} else {
pricebox.classList.remove('has_warning')
pricebox.classList.remove('has_danger')
errormsg.style.display="none"
}
});
//blur: ์์์ ํฌ์ปค์ค๊ฐ ๋ฒ์ด๋ฌ์ ๋ ์ด๋ฒคํธ ๋ฐ์
document.querySelector('#bid_input').addEventListener('blur', e=>{
let str_price=e.target.value;
// 30000์ ๋ฏธ๋ง ์
๋ ฅ์ ๋ด์ฉ์ด ์ง์์ง๋ค.
if(str_price < 30000 ){
e.target.value='';
}
// 1000์ ๋จ์๊ฐ ์๋ ์ ๋ค๋ฅธ ๊ณณ ํด๋ฆญํ ๋ 1000์ ๋ฏธ๋ง๋จ์ ๋ฒ๋ฆผ
if(str_price%1000 !=0){
e.target.value=Math.floor(str_price/1000)*1000;
}
// ์ฆ์ ๊ตฌ๋งค๊ฐ๋ณด๋ค ๋น์ธ๊ฒ ๋ถ๋ฅด๋ฉด ์ฆ์๊ตฌ๋งค๋ก ๋์ด๊ฐ๋ค.
if(price_now < str_price){
$(".header_main .title_txt").html("์ฆ์ ๊ตฌ๋งคํ๊ธฐ");
$("#bid").removeClass("on");
$("#now").addClass("on");
$(".price_now").removeClass("active_input");
$("#bid_input").hide();
$("#now_price").show();
$(".price_now_title").html("์ฆ์ ๊ตฌ๋งค๊ฐ");
$(".deadline_info_area").hide();
$(".step-1 .btn_confirm a").html("์ฆ์ ๊ตฌ๋งค ๊ณ์");
$(".step-1 .btn_confirm a").removeClass("disabled")
}
//1000๋จ์ ๋ฒ๋ฆผ์ ๊ฐ์ด ์ผ์ด๋๊ธฐ ๋๋ฌธ์ ๋บ๋ค
//=> ๊ทธ๋์ผ ํ๋ฒ focusout ๋์์๋ ํ๋ฒ์ ์ฒ๋ฆฌ๋จ
if((str_price >= 30000) &&(price_now > str_price)){
$(".step-1 .btn_confirm a").removeClass("disabled")
}
})
</script>