移动浏览器触摸事件

时间:2011-07-13 09:21:03

标签: javascript mobile touch

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

我有代码,

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与元素无关。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

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

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

有关详细信息,请参阅有用的mobile safari参考指南和/或Sitepen's article。 希望这会有所帮助。