Reworking click and pinch handling to get better behavior on multi-touch devices. r=ahocevar +testing from others (closes #3133)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11695 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -37,9 +37,9 @@ OpenLayers.Handler.Pinch = OpenLayers.Class(OpenLayers.Handler, {
|
||||
/**
|
||||
* Property: stopDown
|
||||
* {Boolean} Stop propagation of touchstart events from getting to
|
||||
* listeners on the same element. Default is true.
|
||||
* listeners on the same element. Default is false.
|
||||
*/
|
||||
stopDown: true,
|
||||
stopDown: false,
|
||||
|
||||
/**
|
||||
* Property: pinching
|
||||
@@ -105,6 +105,7 @@ OpenLayers.Handler.Pinch = OpenLayers.Class(OpenLayers.Handler, {
|
||||
this.start = null;
|
||||
this.last = null;
|
||||
}
|
||||
// prevent document dragging
|
||||
OpenLayers.Event.stop(evt);
|
||||
return propagate;
|
||||
},
|
||||
@@ -120,15 +121,15 @@ OpenLayers.Handler.Pinch = OpenLayers.Class(OpenLayers.Handler, {
|
||||
* {Boolean} Let the event propagate.
|
||||
*/
|
||||
touchmove: function(evt) {
|
||||
var propagate = true;
|
||||
if (this.started && OpenLayers.Event.isMultiTouch(evt)) {
|
||||
this.pinching = true;
|
||||
var current = this.getPinchData(evt);
|
||||
this.callback("move", [evt, current]);
|
||||
this.last = current;
|
||||
propagate = false;
|
||||
// prevent document dragging
|
||||
OpenLayers.Event.stop(evt);
|
||||
}
|
||||
return propagate;
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -142,16 +143,14 @@ OpenLayers.Handler.Pinch = OpenLayers.Class(OpenLayers.Handler, {
|
||||
* {Boolean} Let the event propagate.
|
||||
*/
|
||||
touchend: function(evt) {
|
||||
var propagate = true;
|
||||
if (this.started) {
|
||||
this.started = false;
|
||||
this.pinching = false;
|
||||
this.callback("done", [evt, this.start, this.last]);
|
||||
this.start = null;
|
||||
this.last = null;
|
||||
propagate = false;
|
||||
}
|
||||
return propagate;
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user