27 votes

Création de toile dynamique jQuery, $ ctx.getContext n'est pas une fonction

Lorsque j'essaie d'exécuter cela dans jQuery, j'obtiens $ctx.getContext is not a function dans firebug.

 var $ctx = $( '<canvas />', {width:'100', height:'100'} )
$widget.append($ctx)                                     
$ctx.getContext('2d')                                    
 

Une idée pourquoi j'obtiens cette erreur? Comment créer et initialiser dynamiquement un élément canvas?

60voto

Scott Evernden Points 17858

$ctx est un objet jQuery. utilisez $ctx[0].getContext('2d') pour obtenir le contexte

1voto

Castrohenge Points 2919

Si vous utilisez Excanvas, vous devrez utiliser les éléments suivants pour que cela fonctionne dans IE.

 var canvas = $ctx[0];

if (canvas.getContext == undefined) {
    return G_vmlCanvasManager.initElement(canvas).getContext("2d"); 
}

return canvas.getContext('2d')
 

-6voto

Peter Points 1

Tout d'abord, vous devez vérifier si la ligne suivante existe et le haut du document HTML.

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Strict//EN">
 

cette ligne en tant que condition de politique de rendu du navigateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X