我正在使用新的mapbox.js API,尤其是事件回调“ panned”。用户移动地图时,会触发回调大约50-100次,这实在太多了。从中仅获取第一个和最后一个事件(或仅最后一个)的最佳方法是什么?

map.addCallback('panned', function(move) {
  console.log('panned');
});

最佳答案

使用.setTimeout:

var timeout = null;
map.addCallback('panned', function (move) {
    timeout && window.clearTimeout(timeout);
    timeout = window.setTimeout(function () {
        console.log('panned')
    }, 100)
})


对于超时时间,请选择适当的时间,您必须通过摆弄几个值来找出。

关于javascript - 检测事件回调的开始和结束?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11881672/

10-12 07:34