示例代码,所以我可以开始解释这个问题:
<div style="z-index:5">5</div>
<div style="z-index:2">2</div>
<div style="z-index:1">1</div>
<div style="z-index:4">4</div>
<div style="z-index:3">3</div>
(z-index值无关紧要,它们的顺序,甚至更少。只是示例代码)
问题:我想选择(使用CSS或JS和jQuery)具有最高z-index值的DIV。在上面的例子中,我想选择第一个,因为它的z-index 5高于所有其他的z-index。
有办法做到这一点吗? 额外信息:我正在使用jQuery + jQuery UI编写一个简单窗口管理器,z-index由.draggable中的堆栈选项分配。 我似乎无法找到一种方法让jQuery将最后一个被拖动的元素分配给一个类,所以我将采用最高的z-index方式。有什么帮助吗?感谢。
答案 0 :(得分:2)
我确信您可以使用停止事件来访问最近拖动的项目,即:
$('.selector').draggable({
stop: function(event, ui) {
$(event.target).addClass('justDragged');
}
});
如果您希望查看绑定到事件的所有函数/变量,可以使用以下命令:
var str = '';
for (i in event) {
str += i + ', ';
}
alert(str);
这可以很好地说明你在任何数量的jQuery回调参数中可以使用的内容。
答案 1 :(得分:0)
在所有div上添加课程后,您始终可以对jQuery(".yourDivs").css("z-index")
进行测试。
答案 2 :(得分:0)
在你的位置,我只需在每个div上附加事件onclick。我想Javascript或jQuery会自动考虑zindex信息,你会在你点击的DIV上得到事件。
答案 3 :(得分:0)
我刚才发现.draggable中有一个'开始拖动'事件。我真傻。
$("#window-"+id+".staticwindow.stwin").draggable({ ... start: function(e, u){ $(".window").removeClass('active'); $(this).addClass('active'); } });
虽然我的这种方法不再与我原来的问题有关,但至少没有循环。我不会接受任何答案,因为这似乎需要一个循环。 (虽然我有点倾向于接受zarko-o的回答,因为它引导我思考事件)
感谢大家的回答!