Leaflet 可以禁用;6按钮错误“;在传单中不禁用键盘控制?

Leaflet 可以禁用;6按钮错误“;在传单中不禁用键盘控制?,leaflet,Leaflet,最近,我遇到了一个问题,键盘上的按钮“6”会导致地图在传单中缩小。我追踪到一些已知的错误,不知怎么的,与法国键盘或类似的东西有关,但不明白为什么它会影响我,或者为什么它必须“硬编码”而无法关闭 无论如何,建议的“修复”(实际上是一个解决办法)是禁用传单中的所有键盘控件。这修复了它,但也破坏了我的地图系统,因为我不能再使用键盘键来导航地图,等等 是否有一个适当的修复方法不涉及对传单的源代码进行黑客攻击?您可以通过简单的检查来停止单击事件的传播,查看是否按下了数字6: document.getEle

最近,我遇到了一个问题,键盘上的按钮“6”会导致地图在传单中缩小。我追踪到一些已知的错误,不知怎么的,与法国键盘或类似的东西有关,但不明白为什么它会影响我,或者为什么它必须“硬编码”而无法关闭

无论如何,建议的“修复”(实际上是一个解决办法)是禁用传单中的所有键盘控件。这修复了它,但也破坏了我的地图系统,因为我不能再使用键盘键来导航地图,等等


是否有一个适当的修复方法不涉及对传单的源代码进行黑客攻击?

您可以通过简单的检查来停止单击事件的传播,查看是否按下了数字6:

document.getElementById("mapid").onkeydown = function (e) {         
        if(e.keyCode == '54') {    // 6
             e.stopPropagation();   
        }
    };
使用其中一个作为基础,下面是一个演示,其中
mapid
是保存地图的容器:

document.getElementById(“mapid”).onkeydown=函数(e){
如果(e.keyCode=='54'){
e、 停止传播();
}
};
var mymap=L.map('mapid').setView([51.505,-0.09],13);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyj1ijoibwwwwym94iiwiysi6imnpejy4nxvycta2emycxbdhrqcmz3n3gifq.rjfig214ariislb6b5aw'{
maxZoom:18,
属性:“映射数据©;贡献者”+
', ' +
“图像”,
id:“地图盒。街道”
}).addTo(mymap);
L.标记([51.5,-0.09])。添加到(mymap);
L.圆([51.508,-0.11]{
颜色:“红色”,
填充颜色:“#f03”,
填充不透明度:0.5,
半径:500
}).addTo(mymap);
L.多边形([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]).addTo(mymap)

强制性“这是一项功能,不是一个bug”链接:是!真管用!美好的然而,有人可能会争辩说,这种事情不应该是必要的,图书馆本身不仅应该告诉你,而且应该为法国用户提供一个很好的选择,让他们能够做出这种奇怪的行为,默认不这样做。