HammerJS - 限制拖动事件内的函数调用率

时间:2015-09-12 11:06:49

标签: javascript hammer.js

我使用HammerJS的拖动事件来改变输入范围的值。

如果我在每次拖动事件中更改输入范围的值,HammerJS会一直快速触发它,以至于某些移动设备崩溃。

如何限制拖动事件中的函数调用率?

1 个答案:

答案 0 :(得分:2)

我不认为您可以更改所调用的事件的比率,因为当屏幕上的某些内容发生更改时(例如,手指从某个位置滑动到另一个位置),事件会触发。但你也许可以尝试限制事件的处理。

这样的事情可以完成这项工作:

var lastDeltaX, lastDeltaY = 0;

hammer.on("pan", function(event) {

    if((lastDetaX - event.deltaX) < 5 ||
       (lastDetaY - event.deltaY) < 5)
    {

        //Do something

        lastDeltaX = event.deltaX;
        lastDeltaY = event.deltaY;
    }
});