2017-09-01 157 views
0
$.fn.colorPicker = function() { 
    const $div = this; 
    const $colorPickerIcon = $("<img></img"); 
    const $canvas = $("<canvas></canvas>").addClass("canvas"); 
    const $context = $canvas.getContext("2d"); 
    const $closeButton = new Image(); 
    $closeButton.src = "./imgs/close.png"; 
    $($colorPickerIcon).attr("src", "./imgs/icon.jpg").attr("id", "icon").appendTo($div); 
    $($colorPickerIcon).on("click", function() { 
     $($colorPickerIcon).hide(); 
     $($closeButton).on("load", function() { 
      $context.drawImage($closeButton, 0, 0); 
     }); 
    }); 
} 

我试过这段代码,经过很多修改之后,我决定在这里解决问题。我遇到了获取上下文的问题。我总是收到这个错误“TypeError:$ canvas.getContext不是一个函数”。我用this文章来编程,但它仍然无法正常工作。用JQuery在画布上绘制图像

+1

访问看看https://stackoverflow.com/a/2925139 – Sebastian

+0

[jQuery的等效得到一个画布的上下文中的(可能的重复https://stackoverflow.com/questions/2925130/jquery-of-getting-the-context-of-a-canvas) – Sebastian

+0

据我所知,getContext(“2d”)不是'jQuery'函数,而是'JavaScript'。为了得到你想要的,使用'const $ context = $ canvas [0]'来代替。 – masterpreenz

回答

1

您正试图访问getContext-jQuery对象的方法。但getContext是HTMLCanvasElement的方法,其是下$('<canvas></canvas>')[0].getContext("2d")

+0

你可以在console.log('('')[0])''__proto__'方法中找到它' –