我正在使用Highmaps来显示一个简单的地图,在它上面我有另一个div,它有一个在地图上绘制东西的组件(这必须以这种方式完成,我无法在Highmaps中绘制所有内容,这是不幸的)。
现在我想与地图有一些互动,虽然它低于我的div。我想知道当我点击它上面的div时,是否有办法触发地图上的点击,悬停等事件。
我搜索Highmaps docs试图找到类似trigger(ev, x, y)
的方法,但似乎没有。然后我在Map DOM上使用MouseEvent()和dispatchEvent()
尝试了一个纯粹的JavaScript解决方案,但它也没有用。
我已经设置了一个简单的小提琴,我想要工作:http://jsfiddle.net/k11yfz58/1/
如果我们为#overlay
div做准备,我们会在点击状态时收到提醒。我想要相同的行为,但点击叠加div,这可能吗?
谢谢!
修改
建议使用pointer-events
CSS属性。这并不能解决我的问题,因为我还需要在#overlay
div上触发事件。
答案 0 :(得分:1)
您可以将此添加到您的css:
#overlay {
pointer-events: none;
}
来自MDN:
指针事件CSS属性指定在什么情况下(如果有的话)特定图形元素可以成为鼠标事件的目标。
和none
值:
<强>无强>
该元素永远不是鼠标事件的目标;但是,鼠标事件可能会针对其后代元素,如果这些后代将指针事件设置为某个其他值。在这些情况下,鼠标事件将在事件捕获/冒泡阶段期间在发送/来自后代的路径上触发此父元素上的事件侦听器。
这意味着您的覆盖元素对鼠标事件是“不可见的”,因此鼠标事件发生在下面的div上。