有没有办法让触摸事件相对于元素而不是视口(viewport)或整个页面?
我有代码,
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 与该元素无关。有什么办法可以实现吗?
最佳答案
你不能相对于元素,你可以相对于:
- Viewport(您使用的 clientX、clientY)。
- 屏幕,它处理缩放(screenX...)
- 页面,它处理滚动(pageX...)
有关更多信息,请阅读有用的 mobile safari引用指南,和/或 Sitepen's article关于这个话题。 希望这会有所帮助。
关于javascript - 移动浏览器触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6676727/