【发布时间】:2019-10-19 21:45:33
【问题描述】:
我有一个非常简单的 HTML5 游戏,可以在普通浏览器上正常运行,但是当从 iPhone 或 iPad 上的浏览器访问时,它无法识别 click 事件或 touchstart 事件。
原始代码来自此处的教程: http://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/
我已对其进行了修改并添加了一个单击事件,该事件会将笑脸移动到您在画布上单击的任何位置。此单击事件在 Mac 和 Windows 浏览器中使用鼠标运行良好: http://iwebss.com/test
但是如果你用 iPhone 或 iPad 访问它,点击事件就不起作用。我还尝试为 touchstart 添加一个额外的侦听器,这也不起作用。
这些是我添加到代码中的新监听器:
addEventListener("click", mouseClickEvent, false);
function mouseClickEvent(e) {
alert("click event");
mouseClick = true;
if (e.offsetX) {
mouseX = e.offsetX;
mouseY = e.offsetY;
} else if(e.layerX) {
mouseX = e.layerX;
mouseY = e.layerY;
}
}
addEventListener("touchstart", testEvent, false);
function testEvent(e) {
alert("touchstart event");
}
关于我做错了什么或如何阅读 iPhone 和 iPad 触摸事件的任何想法?
编辑:我也尝试了也不起作用的 mousedown 事件。
已解决:我想通了...请参阅下面的答案。
【问题讨论】:
标签: javascript html ios html5-canvas dom-events