Knowledge Map

on동작이벤트 본문

WEB/JAVASCRIPT

on동작이벤트

2016. 11. 3. 11:17

이벤트를 받는데에는 여러가지가 있다. 


첫번째는 addEventListener를 하는 방법인데 이것은 그후에 removeEventListener을 해줘야 한다.

안그러면 한번 이벤트에 계속 누적되어서 늘어나는 리스너와 그 늘어난 만큼 반복 실행되는 것을 볼 수 있다.


그걸 컨트롤 하면 정말 잘하는 것이겠지만 쉽지않았다.


두번째는 onclick, onkeypress등의 이벤트 함수를 이용하는 것이다.



addEventListener ( '이벤트' , function... ) 을 하면  자동적으로 function 에 e.. 그러니까 이벤트를 넣어준다.


그런데 두번째 방법에서는 onclick = function.... 이렇게 되는데 여기서도 마찬가지로 이벤트를 가져올수 있다.

방법은 간단하다. 그냥 event를 써주면 된다. 즉 onclick = function(event){event .. } 이렇게 써주고 디버그 모드로 보면 죽 들어와 있는 것을 볼수 있다.



=========================================================================================

출처 : http://javascript.info/tutorial/obtaining-event-object

W3C way

Browsers which follow W3C standards always pass the event object as the first argument for the handler.

For instance:

element.onclick = function(event) {
 // process data from event
}

It is also possible to use a named function:

1function doSomething(event) {
2  // we've got the event
3}
4 
5element.onclick = doSomething



Internet Explorer way

Internet Explorer provides a global object window.event, which references the last event. And before IE9 there are no arguments in the handler.

So, it works like this:

1// handler without arguments
2element.onclick = function() {
3  // window.event - is the event object
4}

Cross-browser solution

A generic way of getting the event object is:

1element.onclick = function(event) {
2    event = event || window.event
3 
4    // Now event is the event object in all browsers.
5}


'WEB > JAVASCRIPT' 카테고리의 다른 글

removeEventListener  (0) 2016.11.06
eventlistener, eventhandler 관리  (0) 2016.11.05
자바스크립트에서 높이 구하기  (0) 2016.11.02
addEventListener 에 들어갈수 있는 이벤트들  (0) 2016.11.02
좌클, 우클 구별하기  (0) 2016.11.02
Comments