Canvas.toDataURL() Uncaught TypeError: undefined is not a function

Canvas.toDataURL() Uncaught TypeError: undefined is not a function(Canvas.toDataURL() Uncaught TypeError: undefined is not a function)

本文介绍了Canvas.toDataURL() Uncaught TypeError: undefined is not a function的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用一个名为 html2canvas 的插件将我页面上的一些 html 转换为画布元素.然后我想将该画布保存为图像.不幸的是,我一直遇到标题中的错误.我尝试过使用不同的变量名、不同的 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() Uncaught TypeError: undefined is not a function的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Canvas.toDataURL() Uncaught TypeError: undefined is not a function

基础教程推荐