๋ชฉ์ฐจ
jQuery๋ก ๋์ click ์ด๋ฒคํธ ์ฒ๋ฆฌํ๊ธฐ
๊ฐ์
์น ๊ฐ๋ฐ์์ jQuery๋ ๋ง์ ์ ์ฉํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ, ๊ทธ ์ค ํ๋๋ ๋์ ์ผ๋ก ์์ฑ๋ ์์์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ด ๋ธ๋ก๊ทธ ํฌ์คํ ์์๋ ๋์ ์ผ๋ก ์์ฑ๋ ๋ฒํผ์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
์ํฉ ์ค์
๋ณดํต ์น ํ์ด์ง์์ ๋ฒํผ์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ๋ถ์ฌํ ๋, $(document).ready()
ํจ์ ๋ด์์ ์ด๋ฒคํธ๋ฅผ ์ ์ธํฉ๋๋ค. ํ์ง๋ง ๋์ ์ผ๋ก ์์ฑ๋ ๋ฒํผ์ ๊ฒฝ์ฐ, ์ด๊ธฐํ ๋จ๊ณ์์๋ ํด๋น ๋ฒํผ์ด ์กด์ฌํ์ง ์์ ์ด๋ฒคํธ๊ฐ ์ ์ฉ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.0.min.js"></script>
<title>Document</title>
<script>
$(document).ready(function() {
// ์ฒซ ๋ฒ์งธ ๋ฒํผ ์ด๋ฒคํธ
$("#firstButton").on("click", function() {
var bodyHtml = "<button id='secondButton'>๋ ๋ฒ์งธ ๋ฒํผ</button>";
$("#mainDiv").append(bodyHtml);
});
// ๋ ๋ฒ์งธ ๋ฒํผ ์ด๋ฒคํธ
$("#secondButton").on("click", function() {
alert("๋ ๋ฒ์งธ ๋ฒํผ์ ํด๋ฆญํ์ต๋๋ค.");
});
});
</script>
</head>
<body>
<div id="mainDiv">
<button id="firstButton">์ฒซ ๋ฒ์งธ ๋ฒํผ</button>
</div>
</body>
</html>
์ ์ฝ๋์์ ๋ ๋ฒ์งธ ๋ฒํผ (secondButton
)์ ํด๋ฆญํด๋ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ํ์๋์ง ์์ต๋๋ค. ์ด๋ ๋ ๋ฒ์งธ ๋ฒํผ์ ์ด๋ฒคํธ๊ฐ ์ด๊ธฐํ ๋จ๊ณ์์ ์ด๋ฏธ ์ ์ธ๋์๊ธฐ ๋๋ฌธ์
๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
๋์ ์ผ๋ก ์์ฑ๋ ์์์ ์ด๋ฒคํธ๋ฅผ ๋ถ์ฌํ๊ธฐ ์ํด์ ๋ค๋ฅธ ๋ฐฉ์์ด ํ์ํฉ๋๋ค. ๋์ , $(document).on("click", selector, handler)
ํํ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ๋ฅผ ์ค์ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํด๋น ๋ฌธ์ ๋ฅผ ์ฐ์ํ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.0.min.js"></script>
<title>Document</title>
<script>
$(document).ready(function() {
// ์ฒซ ๋ฒ์งธ ๋ฒํผ ์ด๋ฒคํธ
$("#firstButton").on("click", function() {
var bodyHtml = "<button id='secondButton'>๋ ๋ฒ์งธ ๋ฒํผ</button>";
$("#mainDiv").append(bodyHtml);
});
// ๋ ๋ฒ์งธ ๋ฒํผ ์ด๋ฒคํธ
$(document).on("click", "#secondButton", function() {
alert("๋ ๋ฒ์งธ ๋ฒํผ์ ํด๋ฆญํ์ต๋๋ค.");
});
});
</script>
</head>
<body>
<div id="mainDiv">
<button id="firstButton">์ฒซ ๋ฒ์งธ ๋ฒํผ</button>
</div>
</body>
</html>
๊ฒฐ๋ก
์ด๋ ๊ฒ ํ๋ฉด ๋์ ์ผ๋ก ์์ฑ๋ ์์์๋ ์ ์ ํ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ๋ถ์ฌํ ์ ์์ต๋๋ค. $(document).on("click", selector, handler)
๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ์์์ ๋ํ ์ด๋ฒคํธ ์ฒ๋ฆฌ์ ์ฉ์ดํ๋ฉฐ, ์ด๊ธฐํ ๋จ๊ณ์์ ์ ์ธ๋์ง ์์ ์์์๋ ์ ์ฉ๋ฉ๋๋ค.
๋๊ธ