我使用HammerJS的拖动事件来改变输入范围的值。
如果我在每次拖动事件中更改输入范围的值,HammerJS会一直快速触发它,以至于某些移动设备崩溃。
如何限制拖动事件中的函数调用率?
答案 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;
}
});