我有一个使用 jQuery lib Sketch.js的基本 HTML 绘图应用程序(它使用 <canvas>,在所有桌面浏览器上的 IE、Opera、Chrome、Firefox 上运行良好。在 Opera Mobile、Chrome Mobile、Firefox Mobile 上运行良好, Dolphin HD, Android股票浏览器2.2.4。
但是,当我在平板电脑或手机上的 Android 4.0 股票浏览器上对其进行测试时,当我按下 <canvas> 元素时,框会以蓝色突出显示,并且触摸事件从中心开始,而不管手指实际在哪里是,然后它会像往常一样返回并跟踪手指。显然,每次触摸元素时,在该特定浏览器上都会绘制一条不需要的线。
为了进行测试,我尝试禁用sketch.js,并制作了一个带有警报的通用 onmousedown 事件。当这种情况发生时,整个画布再次以蓝色突出显示,我想会发生同样的行为。当我访问Sketch.js网站时,会发生完全相同的行为......
这种行为是否有任何已知的解决方法?或者有没有不表现出这种行为的Sketch.js的替代品?(我想所有带有 onmousedown 事件的 <canvas> 元素都是完全相同的)
为了完整起见,这是 HTML+JS:
<canvas style="border:1pt solid black;margin:auto;cursor:crosshair;clear:both;" width="450px" height="200px" id="colors_sketch" ></canvas>
<script type="text/javascript">
$(function() {
$('#colors_sketch').sketch();
});
</script>