C'è un modo per far funzionare la classe mootools "Trascina" su safari mobile? Si prega di non collegarmi ad altri quadri.Trascinare con mootools sul cellulare
risposta
L'ho risolto da solo. È facile come mappare gli eventi del mouse per toccare gli eventi.
Quindi la soluzione è di cercare & sostituire:
mousedown -> touchstart
mouseup -> touchend
mousemove -> touchmove
qui era la mia soluzione per rendere gli eventi supporto touch Mootools trascinare. Questo metodo non mi ha richiesto di modificare i file di mootools più da quando ho usato Class.refactor (Questo è stato testato soltanto con Mootools V.1.3.1) - è anche non rompe i soliti eventi click
Class.refactor(Drag,
{
attach: function(){
this.handles.addEvent('touchstart', this.bound.start);
return this.previous.apply(this, arguments);
},
detach: function(){
this.handles.removeEvent('touchstart', this.bound.start);
return this.previous.apply(this, arguments);
},
start: function(event){
document.body.addEvents({
touchmove: this.bound.check,
touchend: this.bound.cancel
});
this.previous.apply(this, arguments);
},
check: function(event){
if (this.options.preventDefault) event.preventDefault();
var distance = Math.round(Math.sqrt(Math.pow(event.page.x - this.mouse.start.x, 2) + Math.pow(event.page.y - this.mouse.start.y, 2)));
if (distance > this.options.snap){
this.cancel();
this.document.addEvents({
mousemove: this.bound.drag,
mouseup: this.bound.stop
});
document.body.addEvents({
touchmove: this.bound.drag,
touchend: this.bound.stop
});
this.fireEvent('start', [this.element, event]).fireEvent('snap', this.element);
}
},
cancel: function(event){
document.body.removeEvents({
touchmove: this.bound.check,
touchend: this.bound.cancel
});
return this.previous.apply(this, arguments);
},
stop: function(event){
document.body.removeEvents({
touchmove: this.bound.drag,
touchend: this.bound.stop
});
return this.previous.apply(this, arguments);
}
});
impressionante, +1 - se questo è stato testato in produzione e funziona, perché non modificare le classi originali e inviare una richiesta pull a mootools-more, invece? i dispositivi touch sono molto più diffusi e questo è utile per avere subito fuori dalla scatola. –
Grande !! sai come disabilitare lo scorrimento mentre trascini l'evento touch? La mia finestra scorre allo stesso tempo mentre trascina ... – Sergio
In realtà c'è un problema a causa di un bug di Android, vedi http://uihacker.blogspot.it/2011/01/android-touchmove-event-bug.html e http :? //code.google.com/p/android/issues/detail id = 5491. Fondamentalmente è necessario chiamare event.preventDefault() nel callback touchmove, quindi aggiustare le cose per rimuovere correttamente il gestore di eventi – abidibo
- 1. Supporto Iframe sul cellulare
- 2. font-size sul cellulare
- 3. $ authWithOAuthPopup() non funziona sul cellulare
- 4. jQuery onclick non funziona sul cellulare
- 5. Twitter Bootstrap comprime solo sul cellulare
- 6. Cancellazione dell'eco acustico con Adobe Air sul cellulare
- 7. Android - Crea RESTful WebService - Ospitalo sul cellulare
- 8. Trascinare un modulo WPF sul desktop
- 9. MooTools: domready vs load
- 10. Funzioni nascoste di MooTools
- 11. Mootools set pulsante controllato
- 12. Ridimensionamento dei caratteri di bootstrap troppo piccolo sul cellulare
- 13. Come creare un pulsante "Invia al cellulare" sul Web?
- 14. Prestazioni GetImageData()/PutImageData() sul cellulare mobile GetImageData()/01ImmagineData()
- 15. iframe impedisce lo scorrimento di iScroll sul cellulare Safari
- 16. Jquery consente di tenere e trascinare il cellulare per il telefono
- 17. Utilizzare l'evento Mousedown sul cellulare senza jQuery mobile?
- 18. Come provare il sito cellulare sul mio PC/Laptop
- 19. Impossibile scorrere oltre il grafico di amcharts sul cellulare
- 20. Supporto estensione browser in Google Chrome sul cellulare
- 21. non può rilevare entrare stampa sul cellulare (textarea)
- 22. certificato SSL non è attendibile - sul cellulare solo
- 23. Realizza video YouTube a 360 gradi sul cellulare
- 24. Redactor - La barra degli strumenti fissa non funziona sul cellulare
- 25. Facendo clic sul mouse per trascinare gli oggetti su Mac
- 26. Domanda di conflitto Prototype/Mootools
- 27. Cosa fa Function.prototype.overloadSetter() di MooTools?
- 28. Trascinare i file sul modulo Delphi non funzionanti
- 29. jsfiddle alternativa su cellulare?
- 30. Utilizzo dello stilo ES5 con jquery/mootools/prototype
E ' per mootools 1.2 e sto usando 1.3. Inoltre sto usando molti componenti basati sulla classe di trascinamento nativa, quindi preferisco una correzione per quella classe. Grazie! – aartiles