added option to the MouseWheel handler to trigger up/down events only

when wheel is released. r=elemoine (closes #2345)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9799 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2009-11-16 10:38:26 +00:00
parent 33e39a205a
commit ebc5d7c021
4 changed files with 125 additions and 22 deletions

View File

@@ -62,12 +62,19 @@
}
function test_Handler_MouseWheel_events(t) {
t.plan(5);
t.plan(6);
var map = new OpenLayers.Map('map');
map.addLayer(new OpenLayers.Layer.WMS("","",{}));
map.zoomToMaxExtent();
var control = new OpenLayers.Control();
map.addControl(control);
var handler = new OpenLayers.Handler.MouseWheel(control);
var deltaZ;
var handler = new OpenLayers.Handler.MouseWheel(control, {
'up': function(evt, delta){
deltaZ = delta;
}
}, {interval: 200});
// list below events that should be handled (events) and those
// that should not be handled (nonevents) by the handler
@@ -99,6 +106,15 @@
}
var activated = handler.activate();
var delta = 120;
if (window.opera && window.opera.version() < 9.2) delta = -delta;
handler.onWheelEvent({'target':map.layers[0].div, wheelDelta: delta});
handler.onWheelEvent({'target':map.layers[0].div, wheelDelta: delta});
t.delay_call(1, function() {
t.eq(deltaZ, 2, "Multiple scroll actions triggered one event when interval is set");
});
}