jquery - HTML5 Canvas 触摸事件在 iPad 或移动 safari 浏览器上偏移

标签 jquery ipad mobile-safari html5-canvas

我遇到了一个问题,无法通过 Google 解决,这是我在 stackoverlow 上的第一篇文章。 我有两个 Canvas 元素堆叠在一起,在我的公司网站上创建彩票类型的刮刮乐功能。 问题是,在 Ipad 上,如果我向下滚动页面,即使滚动一个像素,触摸位置也会偏离等于滚动的高度。我尝试了几种不同的方法来尝试解决此偏移问题,但均无济于事。

使用的JS库:Jquery1.6.4和kinetic2d1.0.2 http://www.kineticjs.com/用于移动触摸事件检测。

我没有经常使用 Safari Mobile,所以我认为有一些属性或方法可以确定我不知道的偏移量。

我想要一个 JS 解决方案来解决这个问题,但是任何能让我到达终点线的 hack 都会获胜。

提前致谢。

最佳答案

这里没有 iPad 来测试它,但你看过 jQuery Offset ? 您可以使用它来获取 Canvas 元素相对于浏览器窗口的坐标,然后在计算中进行补偿,如下所示:

offset = $('#myCanvas').offset();
left = pageX - offset.left;
top = pageY - offset.top;

关于jquery - HTML5 Canvas 触摸事件在 iPad 或移动 safari 浏览器上偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905482/

相关文章:

ios - 无法加载网页,并显示以下错误:无法显示网址

html - 网站在 iPhone 上旋转 180 度

ios7 - iOS 7.1 中的 safari 全屏,带有最小的 ui 元标记

javascript - 在初始悬停触发点击后,有没有办法解决 "reset"移动 Webkit 的伪悬停行为?

jquery循环插件pager被覆盖

jQuery slideDown() 返回 is null 错误

iphone - 我可以使用 contentScaleFactor 安全地节省内存吗?

javascript - 验证不带任何 http 、 https 或 ftp 的 URL

javascript - jQuery .html ('<img>' ) 在 FF 和 Opera 中不起作用

objective-c - iPad 键盘尺寸