2016-06-22 12 views
0

Ich möchte 'addEventListener' verwenden, um etwas aus 'Ereignis' zu bekommen, aber nach der Verwendung muss ich 'removeEventListener' verwenden, um Ereignis-Listener zu entfernen. Wie kann ich für diese Situation tun?Wie kann ich Ereignis zu Anther-Funktion von addEventListener ohne anonyme Funktion

Beispiel:

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); 

Wie kann ich dieses Problem beheben ??

+0

Ok, habe ich dieses Problem gelöst ... –

+0

Vielleicht möchten Sie auf [Beitrag eine Antwort] (http://stackoverflow.com/help/self-antwort) dann – Bergi

Antwort

0

Ich bin neugierig, wie Sie es taten, btw

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