【发布时间】:2018-02-04 00:57:47
【问题描述】:
我有一个带有交互式处理草图的大画布,我想在页面加载后立即运行它。由于某种原因,当用户第一次点击屏幕(在画布上)时,页面会向下滚动一点点。这很烦人,因为用户在第一次与草图交互时错过了点击目标(等到出现“点击任何物种”的文字)。
http://417i.com/alcazar-vegetal/
我尝试将画布元素集中在页面加载上,也通过 javascript 进行点击,甚至阻止默认设置,但没有任何效果。
<!DOCTYPE html>
<html>
<head>
<meta name="Alcazar Vegetal" CONTENT="Alcazar Vegetal">
<title>Alcazar Vegetal</title>
<script src="processing-1.4.1.min.js"></script>
<script>
document.onload = function() {
var elem = document.getElementById("main_canvas");
elem.click();
elem.focus();
elem.preventDefault();
}
</script>
<style>
canvas{border:0px;margin:0px;padding:0px;outline:none;}
canvas:focus{outline:none;}
</style>
</head>
<body bgcolor="white" style="color:rgb(20,20,20)">
<canvas datasrc="alcazar_vegetal_viz_Pjs.pde" tabindex="1"></canvas>
<br>
<br>
</body>
</html>
【问题讨论】:
-
您能否尝试发布一个minimal reproducible example 来证明该问题?当您每次都必须等待动画完成时,很难对此进行测试。空白画布会发生这种情况吗?只画一个形状怎么样,比如圆形?
-
是的,你是对的,我想我想展示用户如何错过点击目标,但我会上传一个简单的并更新问题。
标签: javascript html canvas processing.js