Chcę mieć możliwość wywołania zdarzenia, gdy użytkownik kliknie przycisk, a następnie przytrzyma to kliknięcie przez 1000 do 1500 ms.
Czy istnieje podstawowa funkcjonalność jQuery lub wtyczka, która już to umożliwia?
Czy powinienem zrobić własny? Gdzie mam zacząć?
javascript
jquery
events
SnickersAreMyFave
źródło
źródło
Odpowiedzi:
Edycja : korekta według AndyE ... dzięki!
Edycja 2 : używanie bind teraz dla dwóch zdarzeń z tym samym handlerem na gnarf
źródło
mouseleave
module obsługi..bind('mouseup mouseleave', function() {
Kodowane powietrzem (ale przetestowane na tym skrzypcach )
źródło
Zrobiłem prostą wtyczkę JQuery do tego, jeśli ktoś jest zainteresowany.
http://plugins.jquery.com/pressAndHold/
źródło
Prawdopodobnie możesz rozpocząć
setTimeout
połączeniemousedown
, a następnie anulować jemouseup
(jeślimouseup
zdarzy się to przed upływem limitu czasu).Wygląda jednak na to, że istnieje wtyczka: longclick .
źródło
Oto moja obecna realizacja:
źródło
źródło
Napisałem kod, żeby to ułatwić
Zobacz na JSFiddle
Teraz wystarczy ustawić czas wstrzymania i dodać
clickHold
zdarzenie na swoim elemencieźródło
Spróbuj tego:
źródło