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
๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์์ ํ ๋ถ๋ถ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :)