克隆Jquery Flot图表

时间:2012-04-24 17:17:49

标签: javascript jquery html css flot

有没有人知道是否可以使用Jquery.clone();在Flot图表上的功能?

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

clone()不会复制所有事件处理程序,最好将调用$.flot的代码打包到方法中,并在需要将其显示在其他位置时再次调用它。 / p>

答案 1 :(得分:0)

如果图表不是交互式的,你应该只是克隆画布而不必担心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;
}

Code copied from another SO question