等待接触动作,为什么?

时间:2013-03-15 10:25:02

标签: javascript javascript-events touch flexslider

我正在开发基于触摸的JS应用程序,我已经研究过Flex和Royal滑块作为示例。我注意到两个滑块在获得touchmove事件时都表现得相似:

var started,touched ;
el.bind('touchstart',function(e){
    started = Number(new Date()) ;
    // Get pageX and pageY etc...
}) ;
el.bind('touchmove',function(e){
    touched = Number(new Date()) ;
    if (started-touched > 500) {
        // Handle touch moves etc...
    }
}) ;

如果没有这些,我的JS应用程序可以无缝工作,但为什么他们需要这样做呢?他们为什么要等500ms才能获得移动数据?

1 个答案:

答案 0 :(得分:1)

我认为这是某种敏感度设置。如果用户已将手指移过设备至少500毫秒(在此示例中),您只想注册触摸移动(拖动)事件。

这可以用于区分点击和拖动。否则,如果用户在点击(例如,按钮)时稍微移动他/她的手指,则app也会记录拖动。由于某些控件接受这两个事件,这可能会导致错误的行为。