克隆 Jquery Flot 图表

Cloning a Jquery Flot chart

本文关键字:图表 Flot Jquery 克隆      更新时间:2023-09-26

有谁知道是否可以在Flot图表上使用Jquery.clone();函数?

var $clonedChart = $this.find('.chart-area').clone();
$('#details').append($clonedChart);

基本上,我只想克隆图表并在用户查看"详细信息视图"时在模态窗口中使用它。 我可以看到画布,但不幸的是,画布的内容没有渲染。 有没有办法让他们出现? 我想我也需要做一些花哨的深度克隆来抓取插件,然后重新渲染图形? 我希望避免这种情况,但不确定是否有可能......

谢谢!

clone()不会

复制所有事件处理程序,您最好将调用$.flot的代码打包到方法中,并在需要在其他地方显示它时再次调用它。

如果图表不是交互式的,您应该只克隆画布,而不必担心 Flot 插件。

function cloneCanvas(oldCanvas) {
    //create a new canvas
    var newCanvas = document.createElement('canvas');
    var context = newCanvas.getContext('2d');
    //apply the old canvas to the new one
    context.drawImage(oldCanvas, 0, 0);
    //return the new canvas
    return newCanvas;
}

从另一个 SO 问题复制的代码