/ / Bouton effacer le canevas - javascript, canvas

Bouton Clear canvas - javascript, canvas

J'essaie de créer un bouton pour effacer une toile, mais sans succès.

Mes codes pour cela

JS

function clearcanvas1(){
ctx.clearRect(0, 0, canvas.width, canvas.height);
var w = canvas.width; canvas.width = 1; canvas.width = w;
}

HTML

<button onmouseover="clearcanvas1()">clear</button>

J'ai essayé d'autres options telles que

canvas.width = canvas.width;

et

ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);

Pour le moment, j'ai remplacé le bouton d'effacement par une fonction location.reload, mais cela a bouleversé un canevas secondaire sur la même page que je souhaite exploiter indépendamment. Comment puis-je atteindre cet objectif?

Réponses:

2 pour la réponse № 1

Vous ne semblez pas avoir le canvas élément dans votre fonction (ou même son contexte) ...

function clearcanvas1()
{
var canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
}

De toute évidence, vous aurez besoin de mettre à jour document.getElementById() pour représenter l'ID correct pour votre marquage, ou vous pouvez utiliser document.getElementsByTagName().


0 pour la réponse № 2

sur le bouton appeler la fonction ci-dessous

function clearall()
{
var canvas=document.getElementById("canvas+id");
var context=canvas.getContext("2d");
context.clearRect(0,0,canvas.width,canvas.height);
}

J'espère que ceci vous aidera. Sachez que cette fonction effacera tout dans la toile.