【问题标题】:keep focus on canvas Layer after map drag地图拖动后保持关注画布层
【发布时间】:2020-11-12 16:42:30
【问题描述】:

我有一个来自 leaflet-canvas-markers 的 L.canvasMarker

Leaflet-Geoman 的编辑模式下,我可以毫无问题地移动标记。 但是如果我拖动地图然后尝试拖动标记,它就不起作用(它失去了焦点)。 为了能够再次拖动它,我必须先单击它,然后才能再次正常拖动它。

我试图解决这个问题是获取标记的 DOM 元素,然后触发 focus() 事件。 但我不知道如何访问传单层 DOM 元素。

我尝试修复以下问题:

map.on('moveend', function(e) { 
    marker.getContainer() //getContainer does not work on layer
    marker.getContainer().setAttribute('tabindex', '0')
    marker.getContainer().focus()
    })

从小叶地理人捕捉也不起作用,但我想必须对捕捉计算进行更改才能使其起作用。这是一个完全独立的问题。

这是一个小提琴:移动标记 -> 拖动地图 -> 尝试再次移动标记。

https://jsfiddle.net/nkmtLdc5/

【问题讨论】:

    标签: leaflet leaflet-geoman


    【解决方案1】:

    这是传单 v1.6.0 的问题,仅在 chrome 中不起作用。

    当您将传单更新到 v1.7.1 时,它可以工作。

    用这个替换你的leaflet.js cdn url:https://unpkg.com/leaflet@1.7.1/dist/leaflet.js

    【讨论】:

    • 这与传单核心中的mousedownmousemove 事件有关。我无法为你测试,因为我没有 safari,所以我出去了......但我建议你找到一种方法来单独用传单重现这个,然后在传单 repo 中的 github 上创建一个错误票
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多