Ich möchte in der Lage sein, ein Ereignis auszulösen, wenn ein Benutzer auf eine Schaltfläche klickt und diesen Klick dann 1000 bis 1500 ms lang gedrückt hält.
Gibt es eine jQuery-Kernfunktionalität oder ein Plugin, das dies bereits ermöglicht?
Soll ich meine eigenen rollen? Wo soll ich anfangen?
javascript
jquery
events
SnickersAreMyFave
quelle
quelle
Antworten:
Edit : Korrektur per AndyE ... danke!
Bearbeiten 2 : Verwenden Sie bind jetzt für zwei Ereignisse mit demselben Handler pro Gnarf
quelle
mouseleave
Handler löschen..bind('mouseup mouseleave', function() {
Aircoded (aber auf dieser Geige getestet )
quelle
Ich habe ein einfaches JQuery-Plugin dafür erstellt, wenn jemand interessiert ist.
http://plugins.jquery.com/pressAndHold/
quelle
Vermutlich könnten Sie einen
setTimeout
Anrufmousedown
einleiten und dann abbrechenmouseup
(fallsmouseup
dies vor Ablauf Ihrer Zeitüberschreitung geschieht).Es sieht jedoch so aus, als gäbe es ein Plugin: longclick .
quelle
Hier ist meine aktuelle Implementierung:
quelle
quelle
Ich habe Code geschrieben, um es einfach zu machen
Siehe auf JSFiddle
Jetzt müssen Sie nur noch die Haltezeit einstellen und
clickHold
Ihrem Element ein Ereignis hinzufügenquelle
Versuche dies:
quelle