jQuery UI slider Supporto Touch & Drag / Drop su dispositivi mobili


102

Ho già disegnato e implementato lo slider dell'interfaccia utente jQuery in un progetto. Sebbene sia reattivo, il cursore non risponde se viene toccato e trascinato. Invece, devi toccare dove vuoi che vada il cursore. Vorrei evitare di passare all'interfaccia utente jQuery mobile, che supporta il tocco e il trascinamento, poiché utilizziamo già ampiamente l'interfaccia utente jQuery (non mobile).

La funzionalità che vogliamo: Qui
Cosa stiamo usando: Qui

Su un desktop non puoi dire la differenza. Su un dispositivo mobile è evidente.

Qualcuno sa come aggiungere questo supporto all'interfaccia utente di jquery?

$("#videographers").slider({
  value: 2,
  min: 1,
  max: 3,
  step: 1,
  slide: function(event, ui) {
    return calcTotal(ui.value);
  }
});

Risposte:


262

jQuery ui non ha il supporto touch. Dovresti usarlo con jQuery-ui touch punch .

Basta aggiungere lo script dopo jQuery ui:

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://code.jquery.com/ui/1.8.21/jquery-ui.min.js"></script>
<script src="jquery.ui.touch-punch.min.js"></script>

Puoi anche usare cdnjs:

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>

Nota: meglio dare a questo repo una stella su Github.


Questo mi salva la giornata!
Dr3am3rz

Grazie mille! Questo mi salva davvero la giornata !!
Syamsoul Azrien

Sì, ha anche risolto un bug con il cursore che non sceglieva i valori giusti.
Ronen Festinger

1
funziona a meraviglia con i dispositivi rails5 Android e ios
Stef Hej

fantastico .. funziona senza problemi .. :) Un'osservazione è che nei dispositivi iOS quando facciamo scorrere il cursore non scorre quando lo tocciamo, ma quando rilasciamo il tocco da esso, scorre a quel punto. Qualche idea del perché accada questo? hai qualche soluzione per questo?
Rahul J. Rane

4

Puoi semplicemente collegare questo js.

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>

Grazie.


questo ha fatto funzionare molto velocemente davvero bene. grazie
tijnn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.