【发布时间】:2012-12-13 23:48:12
【问题描述】:
我有以下一系列事件:
用户在他的触摸屏上按下一个元素。这会导致加载新页面。用户没有从屏幕上抬起手指。
现在,我想记录他的手指在新页面上的位置(或者如果他移动手指的话)。然而,ontouchmove 和ontouchstart 似乎只有在他抬起手指然后再次触摸屏幕时才会触发。
是否有触发事件?
【问题讨论】:
标签: javascript events touch dom-events
我有以下一系列事件:
用户在他的触摸屏上按下一个元素。这会导致加载新页面。用户没有从屏幕上抬起手指。
现在,我想记录他的手指在新页面上的位置(或者如果他移动手指的话)。然而,ontouchmove 和ontouchstart 似乎只有在他抬起手指然后再次触摸屏幕时才会触发。
是否有触发事件?
【问题讨论】:
标签: javascript events touch dom-events
据我所知,没有触发事件,而且似乎没有很好的方法来检测加载时触摸(或鼠标)的位置。
一种选择是跟踪当前位置和状态,并将其传递到新页面。有关跟踪鼠标点击的示例,请参阅 Eugene 在 JavaScript: Check if mouse button down? 上的回答,添加位置类似。
页面加载后,最后一部分将跟随移动。对于鼠标,您可以使用 mouseMove 事件,但对于触摸,如果 touchMove 事件未触发,您可能会不走运。您可以尝试手动触发 touchStart 事件。
【讨论】:
我认为关键是使用 Ajax。这样可以加载新内容,但 touchmove 事件将继续触发。
我没有尝试这个,因为我最终开始加载所有内容,然后在 javascript 中处理所有内容。这样我就不需要重新加载页面。当然,这只适用于基本页面,但我猜测 ajax 将适用于需要服务器操作的页面。
【讨论】: