Question

J'ai du mal à trouver comment obtenir les coordonnées de tap depuis l'objet tapEvent, qui sont transmises à mon gestionnaire personnalisé (je n'ai pas trouvé sa spécification de toute façon). Il existe également un événement singleTap, qui transmet les variables personnalisées " X " comme "Y", ce qui est des coordonnées, je suppose, mais je ne peux pas invoquer celui-là dans Emulator.

Le fait est que je travaille sur une application, où j'ai un gros élément et que je dois savoir exactement où l'utilisateur a tapé (ce peut être une coordonnée d'écran globale ou une coordonnée relative de mon élément).

Voici un exemple de code:

//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?
}

Merci beaucoup pour vos suggestions.

Était-ce utile?

La solution

Les coordonnées x et y de l'événement tap se trouvent dans les champs "bas". propriété de l'événement.

Ex.

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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top