【发布时间】:2015-12-24 13:23:52
【问题描述】:
我们公司的网站使用canvas 元素在我们的页面上呈现图形和图表。但是,这些不能拖放到 Microsoft Word 文档或电子邮件客户端中。因此,我设计了一种方法,通过从画布中获取 base64 数据,在鼠标按下时将画布替换为外观相同的 img。
画布在 mousedown 时被正确替换为图像,并在 mouseup 时放回。但是,这不允许拖放图像标签,可能是因为替换发生得太晚了。
Here is a working JSFiddle example.
我们使用的插件还为图表的特定区域提供工具提示,因此我无法替换悬停/悬停时的元素,因为这会阻止工具提示工作。
如何使拖放图像本身成为可能?
【问题讨论】:
-
如果您的图表在渲染到画布后没有更改,您可以 (1) 创建内存画布以在应用程序开始时绘制图表,然后 (2) 创建 img 元素(来自 canvas.toDataURL)在屏幕上呈现。即使图表不是静态的,这也可能是保持拖动和工具提示不变的最接近的解决方案。
标签: javascript jquery html canvas