我已经定义了一个map.on('click',onClick)
事件,但是当有人使用 zoomBox 处理程序时它也会触发(Shift+draw zoom box)
function onClick(e) {alert(e.latlng);}
e.type
总是“点击”
我正在使用Leaflet 版本 0.5.1。
我怎样才能避免这种情况?
提前致谢
我已经定义了一个map.on('click',onClick)
事件,但是当有人使用 zoomBox 处理程序时它也会触发(Shift+draw zoom box)
function onClick(e) {alert(e.latlng);}
e.type
总是“点击”
我正在使用Leaflet 版本 0.5.1。
我怎样才能避免这种情况?
提前致谢
我想你发现了一个错误!我发现这个错误只出现在 IE 10 中,不仅 0.5.1,而且 0.6 也有同样的问题。您可以向Leaflet issue tracker报告错误。
现在,暂时,您可以跟踪mousedown
点并与click
点进行比较以确定光标是否移动。
var mousedownPoint; // global
map.on('mousedown', function (e) {
mousedownPoint = e.containerPoint;
});
map.on('click', function (e) {
if (!e.containerPoint.equals(mousedownPoint)) {
return;
}
// DO WHAT YOU WANT
});