티스토리 뷰
내부 자바스크립트
내부 자바스크립트: 클릭에 응답하기
인라인 자바스크립트를 사용할 때는 어떤 요소가 자바스크립트를 구동시키는지가 확실하다. onclick어트리뷰트가 구성요소 안에 위치하기 때문이다. 그렇다면 내부 자바스크립트는 어떻게 버튼과 연계시킬 수 있는가? 해답은 CSS와 같다. 아이디를 사용한다.
버튼에서 onclick 어트리뷰트를 삭제해라. 그리고 ‘click-me’라는 아이디를 부여해라. 아래와 같이 된다.
<button id="click-me">Click Me!</button>
이제 버튼을 클릭했을 때 뭔가 발생하게 만들어보자. 아래 코드를 <script> 태그 사이에 넣는다.
document.getElementById("click-me").onclick = function() { alert("Hello there!")}
아마 지금까지 봤던 코드 중 가장 복잡할 것이다. 하지만 이를 분석해보면 무척 분명한 내용이다.
첫째 ‘document’는 HTML 페이지 자체를 이르는 말이다. 브라우저에게 페이지 안의 무언가를 찾고 있다고 말한다.
다음 getElementById(“click-me”)는 정확하게 말 그대로다. 아이디ID에 의해by 구성요소element를 가져오는get 것이다. 이 경우 아이디는 ‘click-me’다.
‘onclick = function()’ 부분은 구성요소의 onclick 어트리뷰트를 일정 함수(함수는 특정 기능을 수행하는 일련의 코드를 말한다)와 대응시킨다. 빈 괄호는 해당 함수에 어떤 값도 전달하지 않았다는 의미다.
중괄호 { 와 }는 함수를 위한 코드를 담는다. 중괄호는 자바스크립트를 포함한 코딩 언어들에서 함수를 위한 코드를 담는 일반적 방법이다.
마지막으로 중괄호 안에는 팝업창을 띄워 해당 문구를 보여줄 이미 친숙한 코드 alert(“Hello there!”)가 들어 있다.
이 코드를 모두 합쳐서 쉽게 말로 풀면 아래와 같은 의미다.
HTML 페이지를 가져와서 ‘click-me’라는 아이디를 가진 구성요소를 찾아라. 그리고 해당 구성요소에 변화를 줘서 사용자가 이를 클릭할 때 팝업창과 함께 ‘Hello there!’라는 텍스트를 보여주게 만들어라. 간단하다!
아마 위 내용을 두세 차례 반복해서 읽으면 모든 의미를 명확하게 이해할 수 있을 것이다. 그런 다음 과제에 도전해보자.
'프로그래밍' 카테고리의 다른 글
자바스크립트 난수 만들기 (0) | 2020.06.02 |
---|---|
If 문 또는 조건문 (0) | 2020.05.31 |
자바스크립트 (0) | 2020.05.27 |
포지션을 이용한 레이아웃 (0) | 2020.05.26 |
클래스와 아이디 코딩 (0) | 2020.05.25 |
- Total
- Today
- Yesterday
- json
- 인코딩
- 디코딩
- 동적그래프
- bson
- 폴리글랏시대
- Object
- Java
- JSON .NET
- json요소별문법
- 자바
- 자바스크립
- html
- php
- array배열
- json기본구성
- C# 개발 환경
- 데이터베이스
- swift프로그매밍
- RUBY(루비 프로그래밍 언어)
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |