Mam <div>
element, który ma zdarzenie click dołączony do niego za pomocą następującego kodu:Jak usunąć zdarzenie kliknięcia z elementu w JavaScript?
var id = "someId";
var elem = document.getElementById("elemId");
elem.addEventListener("click", function() { someFunction(id); }, false);
W późniejszym momencie skopiować element i dodać go do innej części DOM
, ale trzeba najpierw usunąć click
wydarzenie nie jestem pewien, jak odwołać się do słuchacza i jak dotąd nic próbowałem usunęła zdarzenia z elementu
var elem = document.getElementById("elemId");
elem.removeEventListener("click", ???? , false);
.
Wszelkie pomysły?
Cheers
Stewart
Trudność to może być wiele elementów z tym EventListener wt on DOM w dowolnym momencie, każdy z własną wartością id. W związku z tym nie mogę utworzyć jednej globalnej zmiennej elemEventHandler. Kod dodający detektor zdarzeń ma swoją własną funkcję, do której przekazywany jest identyfikator. Jak mogę to obejść? –
@Stayart. Jest całkiem możliwe, aby odwołać się do tego samego programu obsługi dla wielu elementów i usunąć odniesienie dla jednego z nich. Przygotowałem przykład w jsfiddle, aby zademonstrować, że: http://jsfiddle.net/KooiInc/qQv9K/ - w którym można również zobaczyć, jak pobrać identyfikator klikniętego elementu, przy okazji – KooiInc
@Koolinc - dziękuję. Wygląda dobrze, miał szybką grę i nadal ma problemy, ale poświęci temu trochę więcej czasu i zaktualizuje wątek. –