javascript - 在鼠标单击时选择一个与另一个透明 div 重叠的元素

标签 javascript jquery html image mouseevent


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

问题:
我们面临的问题是,当我们选择一个图像组件时,我们在其上方附加了一个虚线层,以帮助用户轻松拖动和调整其大小。如果用户将图像放置在 overlapping elements 下面的 image

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

enter image description here

最佳答案

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


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

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

关于javascript - 在鼠标单击时选择一个与另一个透明 div 重叠的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14622511/

相关文章:

Javascript-pubnub API

javascript - SimpleLightBox 不会运行

javascript - 我应该怎么做聚合?

javascript - 检测一个jsp中具有两个元素Id的输入事件

javascript - 如何调度已经在javascript中调度的事件?

javascript - 更新 fullcalendar 事件中传递的变量

javascript - 单击时删除最接近的表单

javascript - jquery检测输入焦点

html - 创建图像网格 - bootstrap4

html - 在 Flexbox 中将元素置于两个兄弟元素之间居中