【发布时间】:2011-11-09 11:35:18
【问题描述】:
我正在使用可拖动的 jQuery UI。我有一堆带有 z-indexes 的元素和一个完全位于可拖动容器上方的元素。我无法将它设置为可拖动,因为点击事件无法通过它,因为它位于另一个元素后面。
如何访问该元素并让它响应鼠标事件?
我的 CSS:
#top {
width:500px;
height:500px;
z-index:5;
background-color:rgba(255,0,0,0.5);
position:absolute;
}
#child {
width:300px;
height:300px;
z-index:4;
background-color:rgba(0,255,0,0.5);
position:absolute;
top:50px;
left:50px;
}
#draggable {
width:200px;
height:200px;
z-index:4;
background-color:rgba(0,0,255,0.5);
position:absolute;
top:10px;
left:10px;
}
我的 HTML:
<div id="top"></div>
<div id="child">
<div id="draggable"></div>
</div>
还有我的 Javascript:
$(function(){
$("#draggable").draggable({
containment: "child"
});
});
我也把所有这些代码放到了 JS Fiddle 中演示:http://jsfiddle.net/wvSqk/
谢谢
【问题讨论】:
-
让我们弄清楚:为什么你首先希望巨大的 div 超过其余部分?
-
在第一个父 div 中包含第二个 parant div 使它可以工作,但我不知道它是否真的是你想要的:jsfiddle.net/wvSqk/2
-
@Hans Wassink 不幸的是,这是设计/布局要求,并且此 div 必须位于顶部。对此我无能为力,只能与它合作。
-
@Guillaume Cisco 否,这会更改 z 顺序,以便可拖动对象位于父项的顶部而不是后面
-
好吧,我不认为这是可能的然后交配...也许你可以制作一个脚本来检查你点击的像素,然后是你的 div 下面的元素。知道可以暂时隐藏顶部什么的。元素永远不会在您的浏览器中点击,抱歉...
标签: jquery css jquery-ui draggable z-index