我有一张传单地图,其中包含一个自定义控件,该控件由一个包含<input>
和<button>
的简单表单组成。
我遇到的问题是当您通过按Enter键提交表单时,它还会触发地图上的click
事件。有趣的是,click事件对象的originalEvent
属性为KeyboardEvent
,密钥代码为13
(Enter键)。不知何故,一个人通往另一个人,我无法弄清楚原因。
这是我的Control
子类的样子:
import { Control, DomEvent } from 'leaflet';
class ControlParent extends Control {
constructor(el, options) {
super(options);
this.el = el;
}
onAdd() {
const el = this.el;
// keep clicks from hitting the map
DomEvent.disableClickPropagation(el);
return el;
}
}
任何人都可以想到造成这种情况的原因以及我可以采取哪些措施来阻止它传播?