Frage

Ich habe Schwierigkeiten, herauszufinden, wie man Tap -Koordinaten von TapeVent Object erhält, das an meinen benutzerdefinierten Handler übergeben wird (ich habe seine Spezifikation sowieso nicht gefunden). Es gibt auch Singletap -Event, das benutzerdefinierte Variablen "x" als "Y" übergeht, was Koordinaten ist, denke ich, aber ich kann diesen einen im Emulator nicht aufrufen.

Der Punkt ist, dass ich an einer Anwendung arbeite, in der ich ein großes Element habe und wissen muss, wo genau der Benutzer angezapft ist (möglicherweise globale Bildschirmkoordinate oder relative Koordinate meines Elements).

Hier ist Beispielcode:

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

Vielen Dank für alle Vorschläge.

War es hilfreich?

Lösung

Die X- und Y -Koordinaten für das TAP -Ereignis befinden sich in der Eigenschaft "Down" des Ereignisses.

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);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top