有没有人知道是否可以使用Jquery.clone();在Flot图表上的功能?
var $clonedChart = $this.find('.chart-area').clone();
$('#details').append($clonedChart);
基本上,我只想克隆一个图表,并在用户查看“详细视图”时在模态窗口中使用它。我可以看到画布,但不幸的是,画布的内容没有渲染。有没有办法让他们出现?我假设我需要做一些花哨的深度克隆来抓取插件,然后重新渲染图表?我希望避免这种情况,但我不确定它是否可能......
谢谢!
答案 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;
}