-
<html>
<head>
<title>interaction model</title>
</table>
<script type="text/javascript">
- Dygraph.addEvent(document, "mousewheel", function() { suspendGraphScroll(); });
- Dygraph.addEvent(document, "mousedown", function() { clearGraphScroll(); });
- Dygraph.addEvent(document, "mousemove", function() { clearGraphScroll(); });
+ Dygraph.addEvent(document, "mousewheel", function() { lastClickedGraph = null; });
+ Dygraph.addEvent(document, "click", function() { lastClickedGraph = null; });
var g = new Dygraph(document.getElementById("div_g"),
NoisyData, { errorBars : true });
var g2 = new Dygraph(document.getElementById("div_g2"),
'mousedown' : downV3,
'mousemove' : moveV3,
'mouseup' : upV3,
+ 'click' : clickV3,
'dblclick' : dblClickV3,
'mousewheel' : scrollV3
}});
function downV3(event, g, context) {
- resetGraphScroll();
context.initializeMouseDown(event, g, context);
if (event.altKey || event.shiftKey) {
Dygraph.startZoom(event, g, context);
}
function moveV3(event, g, context) {
- resetGraphScroll();
if (context.isPanning) {
Dygraph.movePan(event, g, context);
} else if (context.isZooming) {
}
}
-var scrollTimeMillis = 0;
+var lastClickedGraph = null;
-function suspendGraphScroll() {
- scrollTimeMillis = new Date().getTime();
-}
-
-function resetGraphscroll() {
- scrollTimeMillis = 0;
+function clickV3(event, g, context) {
+ lastClickedGraph = g;
+ Dygraph.cancelEvent(event);
}
function scrollV3(event, g, context) {
- var millis = new Date().getTime();
- if (millis - scrollTimeMillis < 250) {
- suspendGraphScroll();
+ if (lastClickedGraph != g) {
return;
}
var normal = event.detail ? event.detail * -1 : event.wheelDelta / 40;