我有一个绝对定位div的点击问题.我正在开发一个带有
jquery scrollpath的网站,并添加额外的图层以获得主要层中的视差效果和顶层覆盖按钮,它们无法点击,悬停等等.
Here是简单的例子:
<div class="body"> <div class="a"></div> <div class="b"> <div class="element first">First</div> <div class="element second">Second</div> </div> </div> .body { position relative; } .a { position: absolute; left: 20px; top: 20px; width: 300px; height: 600px; background: rgba(0,0.5); z-index: 2; } .b { position: absolute; left: 40px; top: 40px; width: 260px; height: 300px; background: blue; z-index: 1; } .b .element { position: absolute; width: 50px; height: 50px; background: red; } .b .element.first { top: 50px; left: 50px; } .b .element.second { bottom: 50px; right: 50px; } }
我需要保持这个html结构和能力点击具有较低z-index的绝对定位div中的div.可能吗?
解决方法
您可以在upper元素上将pointer-events设置为none,以阻止它对鼠标事件做出反应.
pointer-events:none;
JSFIDDLE http://jsfiddle.net/ugGgN/5/
如今,跨浏览器支持非常好:http://caniuse.com/#feat=pointer-events
有关指针事件的更多信息,请参阅文档:https://developer.mozilla.org/en/docs/Web/CSS/pointer-events?v=example