1

我有一个非常具体的问题,以前似乎没有被问到——至少我什么也没找到。不管怎样,情况如下:

我有 n 个可拖动的 div。那些包含列表的 div,可以通过双击进行编辑,它们是可排序的,并且可以不断地排序 - 你可以在这些容器中做一些事情。

现在我的问题:首先,作为可拖动的 JQuerys 的一部分,我可以将 z-index 自动设置为所有元素的最大值 - 但仅限于拖动时。只需在事件区域内单击一下,z-index 就会设置为自动,这并不意味着“单击”元素将显示在顶部。

第二个也是更大的问题是,如果不修改将焦点设置为 div 或其任何子项的每个处理程序,似乎不可能让 div 上的任何处理程序将其置于顶部。

关于如何向完整的 div 添加句柄之类的东西,有什么建议吗?

非常感谢,

努里坎

4

2 回答 2

2

如果我理解您的问题,您可以使用单击和焦点事件来更新 z-index。每当 div 中的子元素获得焦点时,焦点就会触发。

$("div").draggable(
    {start:updateContent}
);
$("div").click(updateContent);
$("div").focus(updateContent);

function updateContent()
{
    $("div").css("z-index", 1);
   $(this).css("z-index",2);
}

​ 小提琴样例:http: //jsfiddle.net/Cwp2e/14/

于 2012-09-06T13:55:50.190 回答
1

我想到一件事——你研究过可拖动代码吗?至少它与单击和鼠标事件相关的部分可能值得检查。

如果它们中的任何地方都有 preventDefault() 函数,那么除了将自己的事件绑定到父 DIV 的每个子元素并以这种方式控制父元素之外,您可能无法做任何其他事情。

于 2012-09-06T13:50:21.507 回答