当前位置: 代码迷 >> 综合 >> leaflet marker单击事件函数、双击事件函数 冲突
  详细解决方案

leaflet marker单击事件函数、双击事件函数 冲突

热度:3   发布时间:2024-02-01 00:09:07.0

        问题描述:如果一个marker添加了单击事件函数和双击事件函数,在双击marker时,会执行两次单击函数和一次双击函数。

        解决方式:在单击事件函数里通过定时器控制延迟执行。单击事件函数和双击事件函数里都先清定时器。

        扩展:一般的dom的单击、双击 也可以这么处理。

    var timer;L.marker([51.5, -0.09]).addTo(map).on('click',function(e){clearTimeout(timer)   // 先清定时器timer = setTimeout(()=>{  // 再延迟执行console.log(e)},250);}).on('dblclick', function(e) {clearTimeout(timer); // 先清定时器console.log(e)  // 不必延迟执行});