일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- onetoone
- 파이썬
- python
- DB
- Join
- PreparedStatement
- insertOne
- 서브쿼리
- 밴쿠버응급실
- PostgreSQL
- insert_into
- Collections
- DBFilter
- 몽고디비
- DATABASE
- SubqueryFilter
- statement
- 자바스크립트
- cursor()
- PostgresDB
- MySQL
- javascript
- 데이터베이스
- postgres
- sqlite3
- python데이터베이스연동
- query
- MongoDB
- subquery
- sql
- Today
- Total
새벽코딩
[JavaScript기초] 4. 셀렉터와 이벤트리스너(with 콜백함수) 본문
셀렉터(selector) 란?
앞에서 셀렉터(selector)에 대해서 언급을 하지 않았지만, 이미 사용하고 있다.
셀렉터는 HTML Tag를 스타일링해주기 위해 특정 tag를 선택하기 위해 사용한다.
셀렉터의 종류
- id를 선택할 때 : getElementById('id 이름')
- class를 선택할 때 : getElementsByClassName('class 이름')
사용예시
<div class="alert-box" id="alert">
<p class="title">alert1</p>
<button onclick="manageAlert('none')">X</button>
</div>
<script>
function alertScetance(scentance){
document.getElementsByClassName('title').innerHTML = scentance; //작동안됨
document.getElementById('alert').style.display = 'block';
}
</script>
** 하지만, class는 id와 다르게 여러개를 지정할 수 있기 때문에, 뒤에 indexing을 꼭 해줘야한다.
위에 코드를 아래와 같이 바꿔줘야 작동을 한다. (class를 찾은 것 중에 몇번째인지 써줘야 함)
document.getElementsByClassName('title')[0].innerHTML = scentance;
그 외에도 tag 이름으로 찾을 수 있는 getElementsByTagName 등이 있다.
이벤트리스너 (EventListener)
<button onclick="manageAlert('none')">X</button>
위 코드 처럼 button에 직접 onclick 속성을 부여하지 않고, eventListner를 사용해서
버튼 클릭시 동작하도록 만들어 보자
EventListener 사용법
document.getElementById('close').addEventListener('click', function(){
document.getElementById('alert').style.display = 'none';
});
버튼에 close라는 id를 부여해주고, 그 요소를 찾아서 addEventListener를 붙여준다.
addEventListener는 2가지 매개변수가 필요한데, 특정동작( 'click')을 했을 때, 어떤 동작(function) 을 할지 function 안에 써주면된다.
참고로 이벤트의 종류로는
click 이벤트, moveseover, scroll, keydown 등 수많은 이밴트가 존재한다.
사용법은 아래와 같은 형태로 하면된다.
셀렉터로찾은요소.addEventListener('mouseover', function(){
실행할코드
});
즉, 이벤트리스너는 일종의 감시자 역할을 하면서, 유저가 행하는 이밴트를 감시해주는 역할의 함수!
콜백함수 (callback function)
위에 이벤트리스너에서 아래와 같이 매개변수로 function이 들어가 있다.
document.getElementById('close').addEventListener('click', function(){
document.getElementById('alert').style.display = 'none';
});
이런식으로 함수 파라미터자리에 들어가는 함수를 콜백함수 라고 부른다.
콜백함수는 코드를 순차적으로 실행하고 싶을 때 사용하는 함수의 형태이며,
단순히 함수안에 함수를 넣으면 콜백함수라고 생각하면된다.
출처 : 코딩애플 'JavaScript 입문과 웹 UI개발'
'Programming > JavaScript' 카테고리의 다른 글
[JavaScript기초] 6. classList 다루기 (서브메뉴 숨기기) (0) | 2023.02.06 |
---|---|
[JavaScript기초] 5. 부트스트랩 사용하는법(bootstrap) (0) | 2023.02.06 |
[JavaScript기초] 3. 함수2 (with 매개변수) (0) | 2023.02.05 |
[JavaScript기초] 2. 동적 UI 만들기 with 함수란? (0) | 2023.02.05 |
[JavaScript기초] 1. 자바스크립트 기본 (0) | 2023.02.05 |