¿Hay alguna manera de hacer que funcione la clase mootools "Arrastrar" en safari mobile? No me vincules a otros marcos.Arrastre con mootools en el móvil
Respuesta
¿Podría intentar https://github.com/kamicane/mootools-touch?
Lo he solucionado yo mismo. Es tan fácil como hacer los eventos del mouse para tocar eventos.
Así que la solución es buscar & reemplazar:
mousedown -> touchstart
mouseup -> touchend
mousemove -> touchmove
Aquí fue mi solución para hacer eventos de apoyo al tacto Mootools Arrastre. Este método no requiere de mí para editar los mootools más archivos que no uso Class.refactor (Esto sólo se prueba con Mootools v.1.3.1) - sino que también no se rompe los habituales eventos de clic
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);
}
});
awesome, +1 - si esto ha sido probado en producción y funciona, ¿por qué no modificar las clases originales y enviar una solicitud de extracción a mootools-more en su lugar? los dispositivos táctiles están mucho más extendidos y es útil tenerlos listos para usar. –
¡Genial! ¿sabes cómo deshabilitar el desplazamiento mientras se arrastra el evento táctil? Mi ventana se desplaza al mismo tiempo que arrastra ... – Sergio
En realidad, hay un problema debido a un error de Android, consulte http://uihacker.blogspot.it/2011/01/android-touchmove-event-bug.html y http : //code.google.com/p/android/issues/detail? id = 5491. Básicamente, debe llamar a event.preventDefault() en la devolución de llamada touchmove, luego ajustar las cosas para eliminar correctamente el controlador de eventos – abidibo
- 1. mootools & nodejs
- 2. Mootools comprobado
- 3. Mootools: inyectar vs adoptar
- 4. Desactivar el arrastre en el carrusel
- 5. MooTools: domready vs load
- 6. jQuery y MooTools Conflicto
- 7. Mootools "Extiende" más "Implementos"
- 8. jQuery droppable - recibir eventos durante el arrastre (no solo en el arrastre inicial)
- 9. Características ocultas de MooTools
- 10. Compatibilidad con el navegador móvil HTML5
- 11. jQuery y compatibilidad con el navegador móvil?
- 12. clon node en arrastre
- 13. jquery arrastre y gire en el ángulo
- 14. Métodos privados en una clase de Mootools
- 15. Arrastre de inicio con otro elemento
- 16. HTML Cadena para mootools Element
- 17. ¿Se puede autocapitalizar desactivar con javascript en el safari móvil?
- 18. Lea UDID de Iphone con javascript en el safari móvil
- 19. Prototipo/pregunta de conflicto Mootools
- 20. Cómo salir de mootools cada()
- 21. ¿Qué hace Function.prototype.overloadSetter() de MooTools?
- 22. Desarrollo móvil HTML5 con HTML5BoilerPlate
- 23. media móvil ponderada con numpy.convolve
- 24. Arrastre WPF Popup control
- 25. arrastre del ratón en kml cuenta con OpenLayers
- 26. Arrastre el lienzo en el generador de interfaz
- 27. arrastre a otro proceso
- 28. Html5Boilerplate o Html5Boilerplate ¿Móvil para el primer sitio web móvil?
- 29. El dispositivo móvil se detecta como dispositivo no móvil
- 30. En javascript 'Si el teléfono móvil'
Es para mootools 1.2 y estoy usando 1.3. También estoy usando muchos componentes basados en la clase nativa Drag, por lo que prefiero una solución para esa clase. ¡Gracias! – aartiles