好了,你可以直接拔下鼠标按下处理程序用下面的代码:chart.container.onmousedown
。这不是最好的解决方案(并且在使用触摸事件时我没有在移动设备上进行测试),但无论如何,这是一个很好的起点。
在这里你可以找到现场演示:http://jsfiddle.net/3qYAZ和演示代码:
window.chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x'
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
}, function (chart) {
var checkbox = $('#zoom'), // a checkbox input in your html
zoomHandler = chart.container.onmousedown;
checkbox.on('change', function() {
if (this.checked)
chart.container.onmousedown = zoomHandler;
else
chart.container.onmousedown = null;
});
});
我能理解你为什么会想“缩放控制”从外部按钮来改变缩放以同样的方式highstock的范围有默认的按钮对于特定的日期范围,但我无法确定如何通过提供一个完全按“开”或“关”的缩放按钮来帮助最终用户:它似乎不是特别必要的功能。 – mg1075 2012-02-17 04:15:48