이하 구디아카데미 김지훈 강사님의 수업자료와 강의 내용 정리, 실습한 내용을 정리함!
전일 배운 내용들 되짚기!
Event Listener 는 익명함수 사용 가능.
익명함수 사용 시에 (e), (this) 사용 가능.
window. 은 생략하고 사용 가능.
open() 시 '옵션' 값은 (width, height, top, left) 정도를 사용하며, 크롬에서는 사용할 수 없다.
pop up 창 중 프롬프터는 현재 거의 사용하지 않는다.
_ancestors
_closest
_descendents
_sideway
_filtering
Java Sctipr Object notation : JavaScriot Object 형태로 전송을 한다는 뜻
XML 과 함께 최근 데이터 전송 시 굉장히 많이 활용된다.
다만 보안이 강조되는 데이터에서는 사용하지 않는 편이 좋다.
작성 시 문법 오류가 굉장히 많이 나타난다.
그래서 작성된 JSON이 맞는지 확인하기 위해 아래 사이트를 활용할 수 있다.
JSON -> TEXT 변환/TEXT - > JSON 변환
[
<head>
<meta charset="UTF-8">
<title>DOM</title>
<style>
</style>
</head>
<body>
<h3>Java Script Object Notation(자바스크립트 오브젝트 표기법)</h3>
<p>서버와의 통신에서 이 방식으로 통신할 수 있다.</p>
</body>
<script>
var obj = {}; // 키:값 형태로 데이터를 넣는다.
var arr = []; //여러 값을 넣을 수 있다.(주소는 숫자로...)
var info = {age:22};
info.firstName = "in-hye";
info["lastName"] = "kim";
console.log(info);
arr.push(info);
console.log(arr);
obj.list = arr;
console.log(obj);
//json -> text
var txt = JSON.stringify(obj);
console.log(txt);
// text -> json
var jsonTxt = '{"employees":[{"firstName":"John","lastName":"Doe"},';
jsonTxt += '{"firstName":"John","lastName":"Doe"},';
jsonTxt += '{"firstName":"John","lastName":"Doe"}]}';
console.log(jsonTxt);
var json = JSON.parse(jsonTxt);
console.log(json);
</script>
]
J-Query 는 JavaScript 의 Library 이다.
Library 란, 자주 사용하거나 직접 구현이 어려운 기능을 만들어 모아 놓은 Program Group 이다.
JavaScript Library 로는 J-Query 외에도 RequireJS, Prototype, AngluarJS, Backbone 등이 있다.
J-Query 를 사용하는 이유
사용의 편리성
var elem = document.getElementById (“demo”);
elem.addListener (“ click”, function(){
alert(“hello, j-Query”);
})
=> $(“#demo”).click(function(){
alert(“hello, j Query”;
});
Cross Browsing
다양한 Plugin
Selector | Description |
---|---|
$(“p”) | P태그인 요소 |
$(“#btn”) | 아이디가 btn 인 요소 |
$(“.btn”) | 클래스가 btn 인 요소 |
$("*") | 모든 엘리먼트 선택 |
$(this) | 현재 엘리먼트 선택 |
$("p.intro") | 태그 중에서 class 가 "intro“ 인 엘리먼트 |
$("p:first") | 태그 중에서 첫 번째 엘리먼트 |
$("ul li:first") | 첫번째 ul 태그 하위의 첫번째 li 엘리먼트 |
$("ul li:first child") | 모든 ul 태그 하위의 첫번째 li 엘리먼트 |
$(“a[href]") | a 태그 중에서 href 속성이 있는 요소 |
$("a[target='_blank']") | a 태그 중에서 target 속성이 _blank 인 요소 |
$("a[target!='_blank']") | a 태그 중에서 target 속성이 _blank 가 아닌 요소 |
$(":button") | 버튼 태그 또는 속성인 요소 |
$("tr:even") | tr 태그 중 짝수 tr |
$("tr:odd") | tr 태그 중 홀수 tr |
_ancestors
$(selector).parent(); : 선택한 요소의 바로 위의 요소를 선택
$(selector).parents(selector); : 선택한 요소의 상위 요소들 중 selector 요소들을 모두 선택
$(selector).parentsUntil(selector); : 선택한 요소와 지정한 요소 사이의 부모를 모두 선택
입력
출력
_closest
_descendents
_sideway
_filtering
$(selector).first(); : 선택한 요소들 중 첫 번재 요소 선택
$(selector).last(); : 선택한 요소들 중 마지막 요소 선택
$(selector).eq(num); : 선택한 요소들 중 n번째(배열 개념) 요소 선택
$(selector).filter(selector); : 선택한 요소들 중 지정한 요소 선택
$(selector).not(selector); : 선택한 요소들 중 지정한 요소만 빼고 선택
입력
출력
J-Query 에서 사용하는 이벤트는 굉장히 많다.
API 사이트(http://api.jquery.com/category/events/) 참고
click() : 클릭 시 발생
dblclick() : 더블클릭 시 발생
mouseenter() : 마우스가 특정 영역으로 들어왔을 경우 발생
mouseleave() : 마우스가 특정 영역 밖으로 나갔을 경우 발생
mousedown() : 마우스 버튼 눌렀을 경우 발생
mouseup() : 마우스 버튼 떼었을 경우 발생
hover() : 마우스 오버 시 발생(mouseenter 와 mouseleave 를 결합한 형태)
focus() : 포커스가 들어왔을 시 발생
blur() : 포커스를 잃었을 경우 발생(웹 접근성상 사용 금지)
입력
출력
영상