event

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');
    });
})

 

 

 

'jquery' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Form  (0) 2023.07.28
Mainpulation(์—˜๋ฆฌ๋จผํŠธ ์ œ์–ด)  (0) 2023.07.28
Chain  (0) 2023.07.27
์„ ํƒ์ž  (0) 2023.07.27
wrapper  (0) 2023.07.27