0

在网页中,我有几个重叠的 html 表(使用 css 样式设置position:absolute)。在这些表之一的单元格中,定义了一个 div 元素,上面有一个click事件(使用jquery)。

问题是:如果 div 元素被另一个重叠表的空单元格覆盖,则 div 元素将不再接收点击事件。发生这种情况的条件之一是必须在覆盖表之前在 DOM 结构中设置被覆盖的 div。

请参阅此jsfiddle以获得更好的示例。如您所见,红色元素不再接收点击事件(因为被包含蓝色元素的表格的顶部空单元格覆盖)。

我知道有这样的页面听起来很奇怪,但原因是在实际应用程序中这些表格是ui-draggable(因此它们可以重叠),并且表格结构用于显示小型组织结构图)。

备注:

我不能只交换表格位置DOMz-index在其中一个表格上添加一个来解决问题,因为如前所述,表格是可拖动的(使用jquery-ui),因此用户可以更改情况(蓝色可以重叠红色或红色可以重叠蓝色)。

4

1 回答 1

3

在不修改 HTML 的情况下,使用 CSS 执行此操作的唯一方法是设置pointer-events:none;重叠表,然后pointer-events: all;设置为蓝色的特定 TD。

看到这个小提琴。

于 2012-11-13T14:41:41.137 回答