2014-01-12 41 views
0

使用phpacademy绘画应用教程,我试图添加触摸屏support.I具有相同的代码鼠标和触摸,但touchup和down不会触发。javascript画布touchstart和touchend不在触摸屏上工作

canvas.addEventListener('mousedown', engage); 
canvas.addEventListener('mousemove', putPoint); 
canvas.addEventListener('touchstart', engage); 
canvas.addEventListener('touchmove', putPoint); 
canvas.addEventListener('mouseup', disengage); 
canvas.addEventListener('mouseout', disengage); 
canvas.addEventListener('touchend', disengage); 
+1

你能告诉我们你用于处理程序的代码吗?事件对象对于触摸和鼠标事件看起来有点不同。你有没有检查与console.log,他们不触发?您尝试使用哪些浏览器(至少Safari支持使用画布触摸事件)? – K3N

+0

http; // joeybabcock.me/tests/php/5.php/在我发布这篇文章之前的两天,我从字面上开始使用javascript。我会尝试使用Safari浏览器,而不是去回答 – joeybab3

回答

1

canvas元素不会收到touchstart事件(我知道)。为了让它起作用,你必须在画布上进行绝对位置div的分解,并使用div来捕捉touchstart事件。

+0

因此,像整个页面上的div一样? – joeybab3

+0

我尝试过,但即使在铬合金和Safari浏览器中,它仍然不起作用。 – joeybab3

+0

你可以把你有什么要点?在画布上放置div是为了在移动Safari中为我工作。 –

相关问题