Sto usando jquery animate per la diapositiva. Ho una freccia alla fine della diapositiva e ho dato l'evento click su quella freccia. Il suo funzionamento consiste nel muovere un elemento all'interno della silda al clic e spostare l'intera silde sul mouse. Funziona bene su desktop ma nell'iPad due elementi stanno entrando nella diapositiva in un momento al clic. Non capisco perché l'evento click venga chiamato due volte in iPad. Il codice di esempio per lo scatto è:Click evento chiamato due volte su touchend in iPad
$('#next_item').bind('mousedown touchstart MozTouchDown',function(e) {
$('.slide').animate({left:left},6000);
});
$('#next_item').bind('mouseup touchend MozTouchRelease',function(e) {
No.nextItem();
});
#next_item
è l'id della freccia alla fine della diapositiva. Ho provato a unbind
touchstart
e touchend
evento, ma durante lo scorrimento della diapositiva a causa di non vincolare l'oggetto non entra nella diapositiva dopo singolo elemento. No.nextItem()
sposta un elemento all'interno della diapositiva. left
in $('.slide')
è quello di spostare la diapositiva a sinistra. Per favore aiutami a trovare la soluzione perché questo sta accadendo e come risolvere questo problema per ipad.
wow, questa risposta è assolutamente perfetta. Buon lavoro! – Jlange
Fare attenzione quando si mappano i comandi touchstart per sostituire i comandi di mouseclick. Si perde una funzione molto preziosa dell'evento click. Un clic seguito da un touchmove annulla il clic. Un touchstart seguito da un touchmode attiverà il touch/click indipendentemente dall'evento touchmove. Quindi, se accidentalmente fai clic su qualcosa, non puoi trascinare il dito sull'elemento per annullare il clic. – Alex
@Alex Hai ragione ma puoi verificare nuovamente se il target è lo stesso su 'touchstart' e' touchend'. E puoi ottenere la pagina X e la pagina Y sotto 'event.originalEvent.targetTouches [0] .pageX' e' pageY' e poi controllare se il dito viene spostato. – andlrc