猿问

通过绝对定位的元素传递鼠标事件

我试图捕获一个元素上有另一个绝对定位的元素上的鼠标事件。

现在,绝对定位元素上的事件将其击中并冒泡至其父对象,但我希望它对这些鼠标事件“透明”并将其转发到其背后的任何对象。我应该如何实施呢?


守候你守候我
浏览 727回答 3
3回答

四季花海

如果您只需要按下鼠标,便可以通过以下document.elementFromPoint方法来实现该方法:移除mousedown的顶层,将事件的x和y坐标传递给document.elementFromPoint方法,以获取下方的元素,然后恢复顶层。

侃侃无极

也很高兴知道...&nbsp;可以为父元素禁用指针事件(可能是透明的div),但可以为子元素启用指针事件。如果您要处理多个重叠的div层,则可以在其中单击任何层的子元素,这将很有用。为此,所有育儿div的get pointer-events: none和click-children的指针事件均由重新启用pointer-events: all.parent {&nbsp; &nbsp; pointer-events:none;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;}.child {&nbsp; &nbsp; pointer-events:all;}<div class="some-container">&nbsp; &nbsp;<ul class="layer-0 parent">&nbsp; &nbsp; &nbsp;<li class="click-me child"></li>&nbsp; &nbsp; &nbsp;<li class="click-me child"></li>&nbsp; &nbsp;</ul>&nbsp; &nbsp;<ul class="layer-1 parent">&nbsp; &nbsp; &nbsp;<li class="click-me-also child"></li>&nbsp; &nbsp; &nbsp;<li class="click-me-also child"></li>&nbsp; &nbsp;</ul></div>
随时随地看视频慕课网APP
我要回答