반응형

## 이벤트 (상태의 변화)
- 일반적으로는 프로그래밍적으로 어떤 사건이 일어난 순간을 의미
- 자바스크립에서의 이벤트란 브라우져에서 발생하는 사건들(클릭, 스크롤, 페이지전환 등등)
- 이벤트가 발생했을 때 실행될 로직을 작성한다.
- 이벤트는 태그에 기술하는 인라인(inline)방식과 리스너(Listener)방식이 있다.

## inline 방식
<script type="text/javascript">
function gogogo(){
alert('push');
}
</script>
<input type="button" value="push" onclick="gogogo()"></input>

<select onchange="alert(this.value)">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>


## listener 방식 : listener방식은 하나의 엘리먼트에 여러개의 이벤트 핸들러를 걸수있다. 브라우저간의 호환성을 위해서 조건문을 사용했다. 이러한 기법을 크로스브라우징이라고 한다.
<input type="text" id="test" />
<script type="text/javascript">
// id test인 텍스트 필드를 가져온다
var test = document.getElementById('test');
//이벤트 핸들러
function testHandler(){
alert('blur');
}
//attachEvent는 ie에서만 지원하기 때문에 attachEvent가 지원되는지 확인하기 위해서 조건문을 사용
if (test.addEventListener) // W3C DOM
test.addEventListener('blur',testHandler,false);
else if (test.attachEvent) // IE DOM
var r = test.attachEvent("on"+'blur', testHandler);
//이벤트 핸들러2
function testHandler2(){
alert('blur2');
}
if (test.addEventListener) // W3C DOM
test.addEventListener('blur',testHandler2,false);
else if (test.attachEvent) // IE DOM
var r = test.attachEvent("on"+'blur', testHandler2);
</script>

## addEventListener와 attachEvent
: 메소드명 그대로, EventListener를 추가해 주는 역할.
- IE에서는 attachEvent만 지원하고, 반면에, FF에서는 addEventListener만을 지원.
- addEventListener는 이벤트를 받을 때 event명으로 가며, attachEvent는 이벤트를 받을 때 "on"+event명 으로 감.
- addEventListener는 return값을 넣어주어야 한다.

ex1) window.addEventListener("load", test.alertTest, false);

ex2) window.attachEvent("onload", test.alertTest);

반응형

'# Work > Javascript' 카테고리의 다른 글

if문의 축약형  (0) 2015.02.16
자바스크립트 기초-7 object,DOM  (0) 2012.01.02
자바스크립트 기초-5 배열  (0) 2011.12.30
자바스크립트 기초4 - 함수  (0) 2011.12.29
자바스크립트 기초3 - 반복문  (0) 2011.12.29
호정찐