więc istnieją dwa ograniczenia do mojego pytania:jQuery: Wiązanie i niewiążące żywo kliknij Zdarzenia
- muszę użyć zewnętrznego wywołanie funkcji w moim kliknij zdarzenie i
- muszę używać na żywo zdarzenie click, raczej wiążą typowe zdarzenie kliknięcia.
Mój problem polega na tym, że próbuję usunąć wiązanie zdarzenia kliknięcia po jego wystąpieniu, a następnie ponownie je powiązać po ukończeniu kodu zdarzenia kliknięcia. Robię to, aby zapobiec zduplikowanym kliknięciom, podczas gdy kod jest obecnie w toku (mam animację FadeIn/Out, która pozwoli na kliknięcie przycisku dwa lub trzy razy szybciej, wykonując w ten sposób mój kod 2 lub 3 razy, co jest pożądane) . Kod używam jest poniżej:
$item.live("click", handleClick);
i
function handleClick(ev) {
$(this).die("click");
// perform code here, including things with 'ev'
$(this).live("click", handleClick);
}
jestem szalony, czy powinno to być działa bez żadnych problemów? Teraz mogę kliknąć raz, ale nie później. Tak więc die() działa, ale nie jest z tego powodu ponownie związana z tą funkcją. Zweryfikowałem, że osiąga on kod w handleClick(), aby ponownie powiązać kliknięcie "na żywo".
Wszelkie pomysły? Każda pomoc będzie bardzo ceniona. Dzięki.
@Greg, ciekawe. Może gdybym przypisał zdarzenie kliknięcia na żywo w funkcji jako takie: 'var $ tempVar = $ ('#' + $ (this) .attr ('id'))', a następnie powiedział '$ tempVar.live (" click " ", handleClick)" Czy uważasz, że to zadziała? –
Ja * myślę * tak ... – Greg
Tak, to zadziała – PetersenDidIt