如何在移动设备/iPad 上获取 e.offsetX
How can I get e.offsetX on mobile/iPad
当我在iPad上尝试时,e.touches[0]中没有offsetX。有谁知道我在哪里可以获得偏移量X的值?
基于建议答案中的注释的正确答案:
e.offsetX = e.touches[0].pageX - e.touches[0].target.offsetLeft;
e.offsetY = e.touches[0].pageY - e.touches[0].target.offsetTop;
这将忽略任何转换,例如旋转或缩放。另外,请务必检查是否有任何触摸。
您可以使用clientX或pageX,请参阅此处
谢谢,@Kontiki - 这是最终为我解决问题的解决方案:
if("touchmove" == e.type)
{
let r = canvas.getBoundingClientRect();
currX = e.touches[0].clientX - r.left;
currY = e.touches[0].clientY - r.top;
}
else
{
currX = e.offsetX;
currY = e.offsetY;
}
页面 - 偏移量/客户端方法对我不起作用。仍然有偏移。我发现另一个解决方案可以完美运行:
let r = canvas.getBoundingClientRect();
let x = e.touches[0].pageX - r.left;
let y = e.touches[0].pageY - r.top;
在元素
上使用 jQuery 的 .on
函数绑定事件处理程序时遇到了类似的问题canvas
(不知道原因)。
我通过使用 addEventListener
绑定事件处理程序来解决它。处理程序中的 event
对象具有使用正确值定义的 offsetX 和 offsetY。
希望对你有帮助...
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 对iPad上的点击事件反应缓慢
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- 如何在移动设备/iPad 上获取 e.offsetX
- 如何从javascript到iphone / ipad获取价值
- 如何在Javascript中获取iPad屏幕宽度
- 在 javascript 中获取与方向相关的屏幕尺寸 (iPad)
- 可以't获取位置&点击iPad获取容器信息
- 获取一个平板电脑(iPad或Droid)的mac地址
- 在iPad/iPhone上滚动时获取scrollTop()
- 获取Ipad触摸启动坐标