屏幕完成后,画布清除

时间:2016-12-30 22:28:02

标签: javascript html5-canvas

我想要一个按钮在画布上显示一个矩形。但是在调用脚本之后会擦除它。

<!DOCTYPE html>
<html>
<body>

<form>

<br>depth = :  <input type="number" id="depthValue" name="depthValue"  value="2"><br>
<input type="submit" value="Submit" onclick="calculate()">


</form> 
<canvas id="canvas" width="1000" height="1000" style="background-color:#EE2"></canvas>


<script>

function calculate() {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(255, 0, 0)";
ctx.fillRect(0,0,300,300);
}

</script>

</body>
</html>

出现矩形,但会立即消除。

发生了什么事?

1 个答案:

答案 0 :(得分:1)

这是因为您通过按Enter键提交表单。所以,你可以把它当作一个令人耳目一新的想法。因此,要解决此问题,请停止提交表单。使用以下onsubmit="return false; "或使用此

的javascript内联
form.addEventListener("submit", function(e){
    e.preventDefault();
})