5


我正在开发一个仪表板,用户可以在其中拖放元素以创建 html 页面。现在,他可以使用图像组件拥有多个图像。我们已经设法计算了z-index图像的数量,并且可以使用上下键对其进行调整。

问题:
我们面临的问题是当我们选择一个图像组件时,我们在它上面附加了一个虚线层,以帮助用户轻松拖动和调整它的大小。如果用户如下图所示放置图像重叠元素

我们无法再次选择内部图像,因为z-index选择 div(带有蓝点的那个)是(必须是)最高的(最高 bcoz,我们必须将它用于所有组件)。所以如果我尝试选择内部图像现在无法选择。我该如何处理这种情况?作为参考,它可以按预期在此站点上运行。
我相信当它被点击时我们已经得到了父元素下的元素。但不知道如何!我们正在使用javascript,jquery来处理事件。

在此处输入图像描述

4

2 回答 2

1

可以使用 JavaScript 或 jQuery 来获取内图的位置,当用户点击外图时,查看鼠标位置是否在小图的范围内。范围可以通过内部元素的位置、宽度和高度来计算。


要获取元素的位置:使用 jQuery.offset().position()(前者相对于文档,后者相对于父级)。

获取鼠标位置:http ://docs.jquery.com/Tutorials:Mouse_Position

于 2013-02-01T02:55:41.033 回答
0

您可以考虑快速隐藏遮罩元素以收集底层元素的坐标,完成后,您可以重新启用遮罩元素的可见性。用于document.elementFromPoint()从鼠标坐标中获取 DOM 项。

一个例子:

http://jsfiddle.net/s94cnckm/14/

pointer-events: none;或者,您可以在屏蔽元素上使用 CSS 属性。

有关的:

https://developer.mozilla.org/de/docs/Web/CSS/pointer-events

如何检测重叠元素下的点击?

于 2015-04-09T14:26:45.590 回答