Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- java
- 백준 16935
- time complexity
- 코딩테스트
- 백준 11723
- 0으로 채우기
- Math.floor()
- Math.ceil()
- java 올림
- 알고리즘
- sort
- java 반올림
- 백준 16927
- java 내림
- 백준 18290
- 자바
- Arrays
- 백준 14391
- 프로그래머스 숫자의 표현 java
- 백준 17425
- Codility
- 프로그래머스 도둑질 java
- 네트워크
- 백준 4375
- 프로그래머스 옹알이 java
- Algorithm
- 프로그래머스 연속된 수의 합 java
- 프로그래머스 네트워크 java
- mysql
- 백준 15661
Archives
- Today
- Total
취미처럼
[Javascript] 이벤트 위임 본문
<ul id="itemList">
<li class="item">item1</li>
<li class="item">item2</li>
<li class="item">item3</li>
</ul>
<p id="test"></p>
itemList 클릭 시 test에 붙여넣는 이벤트를 구현할 때
<script>
document.addEventListener("DOMContentLoaded", function() {
var items = document.getElementsByClassName("item");
for(let item of items) {
item.addEventListener("click", function() {
document.getElementById("test").innerHTML = item.innerHTML;
});
}
});
</script>
item class를 찾아 class를 가진 해당 li 태그에 이벤트를 추가
li태그가 많아진다면 모두 DOM에 등록되어 비효율적인 코드가 됨
<script>
document.addEventListener("DOMContentLoaded", function() {
var app = document.getElementById("itemList");
app.addEventListener("click", function(event) {
if(event.target.nodeName == "li"){
document.getElementById("test").innerHTML = event.target.innerHTML;
}
});
});
</script>
item마다 EventListener를 생성하는 것보다 itemList를 DOM에 등록하여 EventListener가 사용자가 클릭한 item을 찾아 이벤트를 발생시키는 것이 효율적임
'JavaScript > 이론' 카테고리의 다른 글
| [Javascript] var, let, const (0) | 2021.03.16 |
|---|---|
| [Javascript] 형변환 (0) | 2021.03.16 |
| [Javascript] Cookie (0) | 2021.03.16 |
| [Javascript] 예외처리 (0) | 2021.03.16 |
| [Javascript] Javascript Object Model (0) | 2021.03.15 |
Comments