2016-06-22 2 views
0

'addEventListener'를 사용하여 'event'에서 무언가를 가져 오려고합니다.하지만 사용 후 'removeEventListener'를 사용하여 이벤트 리스너를 제거해야합니다. 이 상황에 어떻게 대처할 수 있습니까?익명 함수를 사용하지 않고 addEventListener에서 antoher 함수로 이벤트를 처리하려면 어떻게해야합니까?

예 :

var elem = document.createElement('div'); 

    // I need argument of *event* 
    elem.addEventListener('click', function(*event*){ 
     console.log(*event*) 
    }); 

    // after used, I have to remove it, but only named function can be removed 
    elem.removeEventListener('click', function(event){ 

    }); 
    // this way can be actually removed, but I need *event* 
    elem.removeEventListener('click', namedFunc); 

어떻게이 문제를 해결할 수 있습니다 ??

+0

좋아 당신이 그것을했던 방식에 대해 궁금 해요, 당신은 [답변을 게시]로 할 수 있습니다이 문제 ... –

+0

(http://stackoverflow.com를 해결 한/help/self-answer) 그런 다음 – Bergi

답변

0

내가 BTW,

function once(el, ev, cb){ 
    el.addEventListener(ev, function f(event){ 
     cb.call(event, event); 
     el.removeEventListener(ev, f); 
    }, false); 
} 
관련 문제