Pregunta

Tengo dificultades para descubrir cómo obtener coordenadas de tap del objeto tapEvent, que se pasa a mi controlador personalizado (de todos modos, no encontré su especificación). También hay un evento SingleTap, que pasa variables personalizadas " X " como "Y", que son coordenadas, supongo, pero no puedo invocar esa en el emulador.

El punto es que estoy trabajando en una aplicación, donde tengo un elemento grande y necesito saber dónde exactamente tocó el usuario (puede ser una coordenada de pantalla global o una coordenada relativa de mi elemento).

Aquí hay un código de ejemplo:

//inside of assistant's setup method:
Mojo.Event.listen(this.controller.get('elem'), Mojo.Event.tap, this.listenSingleTap.bindAsEventListener(this));

//custom handler:
SomeAssistant.prototype.listenSingleTap = function(singleTapEvent){
    this.someOtherMethod(singleTapEvent.x, singleTapEvent.y); //This is wrong and doesn't work - how I suppose to get tap coordinates?
}

Muchas gracias por cualquier sugerencia.

¿Fue útil?

Solución

Las coordenadas x e y para el evento de toque se encuentran en "abajo". propiedad del evento.

Ej.

MyAssistant.prototype.setup = function() {
    Mojo.Event.listen(this.controller.get('elem'), Mojo.Event.tap, this.handleTap.bind(this));
}

MyAssistant.prototype.handleTap = function(event) { 
    Mojo.Log.info("tap down at x: " + event.down.x + " y: " + event.down.y);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top