我正在尝试在新的浏览器窗口上打开图表,所以我正在做类似的事情。
let chartWindow = window.open("", "_blank", "left=0,top=0,width=600,height=450");
let chartContainer = $("<div />", {
class: "chart-container"
});
$(chartWindow.document.body).append(chartContainer);
Highcharts.chart(chartContainer[0], chartOptions);
但是,如果打开了多个窗口,并且如果您尝试放大除第一个窗口以外的其他窗口,则单击会卡住。似乎某些事件无法正常触发。因此,如果您尝试选择要放大的图表,则该图表会卡住,您必须转到打开的第一个图表,然后单击此处进行修复。我确定是因为在新窗口中打开了图表,但我需要这样做。
这里可能是什么问题?
编辑:代码示例
答案 0 :(得分:1)
这个问题看起来像个错误,所以我在Highcharts github上进行了报道:https://github.com/highcharts/highcharts/issues/9748
作为解决方法,您可以编辑Highcharts指针方法setDOMEvents
:
if (!H.unbindDocumentMouseUp) {
H.unbindDocumentMouseUp = [];
}
H.unbindDocumentMouseUp.push(addEvent(
ownerDoc,
'mouseup',
pointer.onDocumentMouseUp
));
和destroy
:
H.unbindDocumentMouseUp.forEach(function(unbind) {
unbind();
});