【发布时间】:2014-10-28 23:15:31
【问题描述】:
我有一个网页显示启用了缩放类型“x”的 Highcharts 图表。图表 div 被包裹在一个容器 div 中,例如:
<div class='chart-container'>
<div id='chart_0' class='chart'></div>
</div>
还有一个事件处理程序附加到图表容器上的“mouseup”事件,通过切换定义为的 modalChart css 类将图表切换到模式视图:
.modalChart {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.7);
z-index: 999999;
}
.chart {
height: 300px;
}
.modalChart .chart {
height: 90%;
width: 90%;
max-width: none;
margin: 1em auto;
}
事件处理程序定义为:
$("body").on("mouseup", ".chart-container", function(){
$(this).toggleClass "modalChart"
$(".chart", this).highcharts().reflow()
});
我遇到的问题是,当缩放发生时,“图表容器”上的 mouseup 事件在 x 轴上触发 setExtremes 事件之前触发。因此,每次用户使用缩放功能时都会切换模式视图。我该如何阻止这种情况发生?我希望用户能够在不切换模式视图的情况下进行缩放,并且能够单击图表来切换模式视图。
【问题讨论】:
标签: javascript jquery css highcharts