6

我有以下仅适用于 IE9 的 div 集。在 Moz 和 Webkit 上,onclick 不会触发。如果我将 z-index 更改为 0,则 onclick 有效,但我在站点中的其他元素存在可见性问题。有没有办法让 onclick 以负 z 索引触发?

<div id="adbg" style="margin: 0pt auto; height: 1000px; width: 100%; position: fixed; cursor: pointer; z-index: -1;">
<div OnClick="window.open('/bgClicks/2');" style="background: #fff url('http://www.example.com/img/bg/w_1.jpg') no-repeat center top fixed; height: 100%; width: 100%; margin: 0pt auto; cursor: pointer;"></div>
</div>
<div id="wrapper">
4

1 回答 1

3

这里有一个 z-index-绝对是问题所在。Moz/Webkit 中发生的事情是预期的结果,您必须在拾取点击的对象上放置一个不可见/透明的图层,从而不让它通过实际链接。

你可以做几件事..
1)找到覆盖它的对象(在Chrome中很容易,只需右键单击 - 检查元素,通常鼠标下的直接元素会在检查器中自动突出显示。然后对于这个元素,给出一个 CSS 规则:

pointer-events: none;

这允许点击通过它注册到下面的对象。请注意,浏览器对此的支持不是很好,所以我建议另一种解决方案:

2)重组你的代码,这样你就不会遇到这个问题,在逻辑世界里,为什么你会有任何超出链接顶部的东西,这实际上归结为糟糕的结构,重新考虑你的边距/填充,或者一个jsfiddle,所以我们可以更好地看看:)。

于 2012-09-04T21:37:40.000 回答