【问题标题】:Touch Javascript event: user leaves finger on screen while new page loadsTouch Javascript 事件:用户在新页面加载时将手指留在屏幕上
【发布时间】:2012-12-13 23:48:12
【问题描述】:

我有以下一系列事件:

用户在他的触摸屏上按下一个元素。这会导致加载新页面。用户没有从屏幕上抬起手指。

现在,我想记录他的手指在新页面上的位置(或者如果他移动手指的话)。然而,ontouchmoveontouchstart 似乎只有在他抬起手指然后再次触摸屏幕时才会触发。

是否有触发事件?

【问题讨论】:

    标签: javascript events touch dom-events


    【解决方案1】:

    据我所知,没有触发事件,而且似乎没有很好的方法来检测加载时触摸(或鼠标)的位置。

    一种选择是跟踪当前位置和状态,并将其传递到新页面。有关跟踪鼠标点击的示例,请参阅 Eugene 在 JavaScript: Check if mouse button down? 上的回答,添加位置类似。

    页面加载后,最后一部分将跟随移动。对于鼠标,您可以使用 mouseMove 事件,但对于触摸,如果 touchMove 事件未触发,您可能会不走运。您可以尝试手动触发 touchStart 事件。

    【讨论】:

      【解决方案2】:

      我认为关键是使用 Ajax。这样可以加载新内容,但 touchmove 事件将继续触发。

      我没有尝试这个,因为我最终开始加载所有内容,然后在 javascript 中处理所有内容。这样我就不需要重新加载页面。当然,这只适用于基本页面,但我猜测 ajax 将适用于需要服务器操作的页面。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-04
        • 1970-01-01
        • 2020-09-05
        • 2011-02-11
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        相关资源
        最近更新 更多