地图拖动后继续关注 canvas 层
keep focus on canvas Layer after map drag
我有 L.canvasMarker 来自 leaflet-canvas-markers
在 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()
})
从 leaflet-geoman 捕捉也不起作用,但我想必须对捕捉计算进行更改才能使其起作用。这是一个完全独立的问题。
这是一个fiddle:移动标记->拖动地图->尝试再次移动标记。
这是传单 v1.6.0 的问题,仅在 chrome 中不起作用。
当您将传单更新到 v1.7.1 时,它会起作用。
将您的 leaflet.js cdn url 替换为:https://unpkg.com/leaflet@1.7.1/dist/leaflet.js
我有 L.canvasMarker 来自 leaflet-canvas-markers
在 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()
})
从 leaflet-geoman 捕捉也不起作用,但我想必须对捕捉计算进行更改才能使其起作用。这是一个完全独立的问题。
这是一个fiddle:移动标记->拖动地图->尝试再次移动标记。
这是传单 v1.6.0 的问题,仅在 chrome 中不起作用。
当您将传单更新到 v1.7.1 时,它会起作用。
将您的 leaflet.js cdn url 替换为:https://unpkg.com/leaflet@1.7.1/dist/leaflet.js