Obsługa zdarzeń JavaScript z parametrami

Chcę, aby program obsługi zdarzeń przekazywał zdarzenie i niektóre parametry. Problem polega na tym, że funkcja nie pobiera elementu. Oto przykład:

<code>doClick = function(func){
    var elem = .. // the element where it is all about
    elem.onclick = function(e){
        func(e, elem);
    }
}
doClick(function(e, element){
    // do stuff with element and the event
});
</code>

„Elem” musi być zdefiniowany poza funkcją anonimową. Jak uzyskać przekazany element do wykorzystania w funkcji anonimowej? Czy istnieje sposób, aby to zrobić?

A co z addEventListener? Wydaje mi się, że w ogóle nie jestem w stanie przekazać zdarzenia przez addEventListener?

Aktualizacja

Wydawało mi się, że rozwiązałem problem „to”

<code>doClick = function(func){
    var that = this;
    this.element.onclick = function(e){
        func(e, that);
    }
}
</code>

Gdzie to zawiera ten element, do którego mogę uzyskać dostęp w funkcji.

AddEventListener

Ale zastanawiam się nad addEventListener:

<code>function doClick(elem, func){
    element.addEventListener('click', func(event, elem), false);
}
</code>

questionAnswers(7)

yourAnswerToTheQuestion