【问题标题】:Mobile Browser TouchEvents移动浏览器触摸事件
【发布时间】:2011-07-13 09:21:03
【问题描述】:

有没有办法让触摸事件相对于元素而不是视口或整个页面?

我有密码,

var c = document.createElement("canvas");
c.width = 100;
c.height = 100;
c.addEventListener('touchmove',function(e){
    de.innerHTML = e.targetTouches[0].clientX + ", " + e.targetTouches[0].clientY;
}, false);

de 只是一个输出数据的 div,但 clientX 和 clientY 与元素无关。有什么方法可以实现吗?

【问题讨论】:

    标签: javascript mobile touch


    【解决方案1】:

    你不能相对于元素,你可以相对于:

    • 视口(您使用的clientX,clientY)。
    • 屏幕,它处理缩放(screenX...)
    • 页面,它处理滚动(pageX...)

    有关更多信息,请阅读有用的 mobile safari 参考指南和/或有关此主题的 Sitepen's article。 希望这会有所帮助。

    【讨论】:

    • 感谢您提供的信息,我已经找到了这些页面。我想我已经想出了一个解决方案,用于根据页面上的元素位置计算值。
    猜你喜欢
    • 2011-12-15
    • 2012-02-17
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 2011-08-08
    • 2013-11-12
    相关资源
    最近更新 更多