Mojo.Event.tap: ¿cómo obtener coordenadas de tap?
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.
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);
}