Canvas.toDataURL()未捕获TypeError:undefined不是函数 [英] Canvas.toDataURL() Uncaught TypeError: undefined is not a function
问题描述
我正在使用一个名为html2canvas的插件将我页面上的一些html转换为canvas元素。然后我想将该画布保存为图像。不幸的是,我一直遇到标题中的错误。我尝试过不同的变量名,不同的html等。但是仍然遇到同样的错误。这是我的代码(按下按钮时触发):
I'm using a plugin called html2canvas to convert some html on my page into a canvas element. I then want to save that canvas as an image. Unfortunately I keep encountering the error in the title. I have tried with different variable names, with different html, etc. But keep encountering the same error. Here is my code (triggered on a button click):
function generate(){
html2canvas($('#b2_1'), {
onrendered: function(canvas) {
canvas.setAttribute("id", "canvas");
document.body.appendChild(canvas);
}
});//this all works, the canvas appears as expected
var myCanvas = $(document).find('#canvas');
myCanvas.css("margin-left", "50px");//this was to test I was selecting the right element, the canvas moves
var myImg = myCanvas.toDataURL();//code breaks here
}
推荐答案
好的,我发现我的问题是我试图在我的jQuery对象而不是我的canvas元素上调用 toDataURL()
。为了解决这个问题,我使用了 .get(0)
。完整代码如下:
Ok, I found my problem was I was trying to call toDataURL()
on my jQuery object rather than my canvas element. To fix this I used .get(0)
. Full code below:
function generate(){
html2canvas($('#b2_1'), {
onrendered: function(canvas) {
canvas.setAttribute("id", "canvas");
document.body.appendChild(canvas);
}
});//this all works, the canvas appears as expected
var myCanvas = $(document).find('#canvas');
myCanvas.css("margin-left", "50px");
var myImg = myCanvas.get(0).toDataURL();//have to get the canvas element from the jquery object
}
这篇关于Canvas.toDataURL()未捕获TypeError:undefined不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!