我的代码根据不同的操作在屏幕上显示了一些div。 div具有通过jquery ui.draggable代码使它们可拖动的句柄。我有可拖动的ui堆栈选项设置,因此当您拖动项目时,它会自动移动到所有其他可拖动项目的前面。
我遇到的问题是,即使您只是单击手柄而不将其拖动到任何位置,我也希望将div移到前面。我已经尝试在单击句柄时触发各种事件,例如mousedown,mousemove,mouseup,drag,dragstart和dragstop,但似乎都没有。我也尝试过改变z-index值,但到目前为止还没有很好用。
我的代码看起来像这样。假设我有div,并且句柄是h5标记。我已经实例化了draggable函数。所以我有:
$("div.window h5").click(function() {
$(this).parents("div:first").trigger("whatever event i am trying");
)};
但这不起作用。 (我也尝试将触发器放在h5本身而不是父div)。我没有看到错误,我只是没有得到预期的结果。
提前感谢您的帮助!
答案 0 :(得分:2)
试试这个:
$("div.window h5").click(function(e){
// Variable to hold the highest z-index
var largestZ = 1;
// I have used div.window h5 but this should cycle through each draggable element
$("div.window h5").each(function(i) {
// Get the the z-index and update if it is larger than current largest value
var currentZ = parseFloat($(this).css("zIndex"));
largestZ = currentZ > largestZ ? currentZ : largestZ;
});
$(this).css("z-index", largestZ + 1);
});
某些选择器可能需要更改,因为我看不到您的完整代码。我找到了这个代码段并从here修改了它。