Client/Javascript

[javascript / ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ(์š”์†Œ) ์–ป๊ธฐ - event.target

meeeeejin 2020. 6. 19. 19:16

event.target

 

event.target์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด

 

$("a").click(function(event){

      console.log(event.target);

});

์ด๋ผ๋Š” ์ฝ”๋“œ๋Š” a์š”์†Œ๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์ด๋ฒคํŠธ์˜ ๋Œ€์ƒ์ธ a์š”์†Œ๋ฅผ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•œ๋‹ค. 

 

 

์ด๋Ÿฐ event.target์„ ์ด์šฉํ•˜๋ฉด ํ˜„์žฌ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ์˜ ์†์„ฑ๋“ค์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ์˜ id๋ฅผ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. 

 

$("a").click(function(event){

      console.log(event.target.id);

});

 

 

 

event.target๋ง๊ณ ๋„ this๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ํ˜„์žฌ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ์„ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์ฃผ์˜ํ•  ์ ์€ event.target๊ณผ this๋Š” DOM ๊ฐ์ฒด์ด๊ณ , jQuery ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— jQuery ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

var myTarget = event.target;

์ด๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ์„ ๋•Œ, myTarget์€ ํ˜„์žฌ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ๋งŒ์•ฝ ์ด ์š”์†Œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด myTarget.style.color = "red"; ์™€ ๊ฐ™์€ DOM ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. 

 

 

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ jQuery ๊ฐ์ฒด๋กœ ์š”์†Œ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์„๊นŒ? $(event.target) ๋˜๋Š” $(this)์™€ ๊ฐ™์€ ์ž‘์—…์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

var myTarget = $(event.target);

๋ผ๊ณ  ์„ ์–ธํ–ˆ๋‹ค๋ฉด, myTarget.css("color", "red"); ์™€ ๊ฐ™์ด jQuery ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ: https://stackoverflow.com/questions/48239/getting-the-id-of-the-element-that-fired-an-event

 

 

 

 

๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

 

 

 

728x90