如何禁用(而不是删除)leaflet-draw中的工具栏按钮

4
Leaflet Draw 的文档提供了一种移除工具栏的方式,但我不想移除工具栏,只想让它成为一个禁用的按钮。是否有已知的方法可以实现这一点?
1个回答

4
以下是我如何使用JS和CSS来切换“灰色”禁用状态的“添加标记”按钮:
JS代码:
function toggleMarkerButton(state) {
    // toggle button dimming and clickability
    var button = document.getElementsByClassName("leaflet-draw-draw-marker")[0];
    if (state) {
        // enable button
        button.onClick = null;
        button.className = "leaflet-draw-draw-marker leaflet-draw-toolbar-button-enabled";
    } else {
        // disable button
        button.onClick = "preventEventDefault(); return false";
        button.className = "leaflet-draw-draw-marker draw-control-disabled";
    }
}

CSS:

.draw-control-disabled {
    filter: contrast(22%) brightness(157%);
    pointer-events:none;
}

然后我使用toggleMarkerButton(false);来禁用该按钮,再使用toggleMarkerButton(true);来重新启用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接