基本上,我们在“DOMMouseScroll”上有一个侦听器,它返回鼠标滚动的增量,然后使用此数据在页面上移动div元素。我们想将此功能添加到iPad中,但正在努力确定需要哪些侦听器来返回触摸滚动增量值。有没有人有什么建议,或者从哪里开始?干杯- C
u0sqgete1#
没有“delta”,但您可以访问X和Y。这意味着你可以编写一些代码来触发触摸移动并计算“delta”:
X
Y
element.addEventListener("touchstart", touchStart, false); element.addEventListener("touchmove", touchMove, false); var start = {x:0, y:0}; function touchStart(event) { start.x = event.touches[0].pageX; start.y = event.touches[0].pageY; } function touchMove(event) { offset = {}; offset.x = start.x - event.touches[0].pageX; offset.y = start.y - event.touches[0].pageY; return offset; }
进一步参考:http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/HandlingEvents/HandlingEvents.html
2vuwiymt2#
如果你不需要realtime delta,那么你只能使用press & realease delta,用途:
realtime delta
press & realease
基于@samccone代码。
element.addEventListener("touchstart", touchStart, false); element.addEventListener("touchend", touchEnd, false); var start = {x:0, y:0}; function touchStart(event) { start.x = event.changedTouches[0].pageX; start.y = event.changedTouches[0].pageY; } function touchEnd(event) { offset = {}; offset.x = start.x - event.changedTouches[0].pageX; offset.y = start.y - event.changedTouches[0].pageY; return offset; }
2条答案
按热度按时间u0sqgete1#
没有“delta”,但您可以访问
X
和Y
。这意味着你可以编写一些代码来触发触摸移动并计算“delta”:
进一步参考:http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/HandlingEvents/HandlingEvents.html
2vuwiymt2#
如果你不需要
realtime delta
,那么你只能使用press & realease
delta,用途:基于@samccone代码。