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>