Fix example to work where there is a metaKey but ctrl is used for undo/redo.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@12104 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
+10
-21
@@ -20,37 +20,26 @@ map.addControl(draw);
|
|||||||
draw.activate();
|
draw.activate();
|
||||||
|
|
||||||
OpenLayers.Event.observe(document, "keydown", function(evt) {
|
OpenLayers.Event.observe(document, "keydown", function(evt) {
|
||||||
var code = evt.keyCode;
|
|
||||||
var handled = false;
|
var handled = false;
|
||||||
if (code === 90) {
|
switch (evt.keyCode) {
|
||||||
// z
|
case 90: // z
|
||||||
if ("metaKey" in evt) {
|
if (evt.metaKey || evt.ctrlKey) {
|
||||||
if (evt.metaKey) {
|
|
||||||
draw.undo();
|
draw.undo();
|
||||||
handled = true;
|
handled = true;
|
||||||
}
|
}
|
||||||
} else if (evt.ctrlKey) {
|
break;
|
||||||
draw.undo();
|
case 89: // y
|
||||||
handled = true;
|
if (evt.metaKey || evt.ctrlKey) {
|
||||||
}
|
|
||||||
}
|
|
||||||
if (code === 89) {
|
|
||||||
// y
|
|
||||||
if ("metaKey" in evt) {
|
|
||||||
if (evt.metaKey) {
|
|
||||||
draw.redo();
|
draw.redo();
|
||||||
handled = true;
|
handled = true;
|
||||||
}
|
}
|
||||||
} else if (evt.ctrlKey) {
|
break;
|
||||||
draw.redo();
|
case 27: // esc
|
||||||
|
draw.cancel();
|
||||||
handled = true;
|
handled = true;
|
||||||
}
|
break;
|
||||||
}
|
}
|
||||||
if (handled) {
|
if (handled) {
|
||||||
OpenLayers.Event.stop(evt);
|
OpenLayers.Event.stop(evt);
|
||||||
}
|
}
|
||||||
if (code === 27) {
|
|
||||||
// esc
|
|
||||||
draw.cancel();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user