2023. 7. 28. 12:59ใjquery
event?
js๋ jquery์์ ์ด๋ฒคํธ๋ ๋ธ๋ผ์ฐ์ ์์ ์ผ์ด๋๋ ์ฌ๊ฑด(ํด๋ฆญ, ๋ง์ฐ์ค ์ด๋, ํ์ดํ, ํ์ด์ง ๋ก๋ฉ ๋ฑ)
jQuery์ event
ํฌ๋ก์ค๋ธ๋ผ์ฐ์ง์ ๋ฌธ์ ํด๊ฒฐ
- on์ผ๋ก ์ด๋ฒคํธ ํธ๋ค๋ฌ ์ค์น
on : ํ์ฌ ์กด์ฌํ์ง ์๋ ์๋ฆฌ๋จผํธ์ ์ด๋ฒคํธ ์ค์น O > ๋์ ์ด๋ฒคํธ O
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {
margin-left: 500px;
}
</style>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
function clickHandler(e){
alert('thank you');
}
//document: ์นํ์ด์ง ์์ฒด๋ฅผ ์๋ฏธํ๋ ์๋ฆฌ๋จผํธ
$(document).on('ready', function(){
//์นํ์ด์ง ๋ก๋ฉ ํ ํ๊ทธ๋ค์ด ์จ์ ํ๊ฒ ํ์๊ฐ ๋๋ฉด ready ์ด๋ฒคํธ ์คํ, ํจ์๋ฅผ ํธ์ถ
//์๋๋ผ๋ฉด ์ฝ๋๋ ์์๋๋ก ์ฝํ > input ํ๊ทธ๋ค์ด ๋ ๋ค์ ์๊ธฐ ๋๋ฌธ์ ready ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉ!
//on์ ์ฌ์ฉํ๋ฉด ์กด์ฌํ์ง ์๋ ์๋ฆฌ๋จผํธ์ ๋ํด์๋ ์ด๋ฒคํธ ์ค์น ๊ฐ๋ฅํด์ ์๊ด ์์!
$('#click_me').on('click', clickHandler);
//ํด๋ฆญํ์ ๋ clickHandler ํจ์ ํธ์ถ
$('#remove_event').on('click', function(e){
//์ด๋ฒคํธ๋ฅผ ์ค์นํ ๋ ์ฌํ์ฉx > ์ต๋ช
ํจ์ ์ฌ์ฉ ์ ํธ๋ฆฌ
$('#click_me').off('click', clickHandler);
//off๋ฅผ ์ธ ๋ ์ด๋ค ์ด๋ฒคํธ ํ์
์ ์ญ์ ํ ์ง ์ ํํ๊ฒ ์ง์ ํด์ค์ผํจ!
});
$('#trigger_event').on('click', function(e){
$('#click_me').trigger('click');
//trigger : ์ด๋ฒคํธ ํธ์ถ ๋ฉ์๋์ ์ธ์๋ก ์ ๋ฌ๋๋ ์ด๋ฒคํธ ํ์
์ ํด๋น๋๋ ์ด๋ฒคํธ๋ฅผ ํธ์ถ
});
})
</script>
</head>
<body>
<input id="click_me" type="button" value="click me" />
<input id="remove_event" type="button" value="off" />
<input id="trigger_event" type="button" value="trigger" />
</body>
</html>
click me ํด๋ฆญ ์ ์ด๋ฒคํธ ๋ฐ์ > alert ์ฐฝ ๋ธ
- trigger๋ก ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ๊ฐ์ ์คํ
trigger ํด๋ฆญ ์ ์ ๋ฌ๋ ๋ํผ์ ์ค์น๋ ์ด๋ฒคํธ ํธ์ถํ์ฌ ์ด๋ฒคํธ ๋ฐ์
- off๋ก event ์ ๊ฑฐ
off ๋ฒํผ ํด๋ฆญ ์ click me์ ์ค์น๋ event ์ ๊ฑฐ ๋จ
trigger ๋ฒํผ์ click me์ ์ค์น๋ ์ด๋ฒคํธ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ์ด๋ฒคํธ๊ฐ ์ ๊ฑฐ๋์ด์ ํด๋ฆญ ์ ์๋ฌด ๋์ ์ ํ๊ฒ ๋จ.
- click, ready์ ๊ฐ์ ๋ค์ํ ์ด๋ฒคํธ ํฌํผ๋ฅผ ์ ๊ณต
ํฌํผ ์ฌ์ฉ ์ ์ฝ๋๊ฐ ๋ ๊ฐ๊ฒฐ
//์ด๋ฒคํธ ํฌํผ (์์ ๊ฒฐ๊ณผ๋ ๋์ผ) - ํฌํผ ์ฌ์ฉ์ ์ฝ๋ ๋ ๊ฐ๊ฒฐ
function clickHandler(e) {
alert('thank you');
}
$(document).ready(function() {
$('#click_me').click(clickHandler);
$('#remove_event').click(function(e) {
$('#click_me').off('click', clickHandler);
});
$('#trigger_event').click(function(e) {
$('#click_me').trigger('click');
});
})