在jScrollpane的可见区域之外的jQuery UI droppable捕获drop事件

时间:2013-09-24 20:01:19

标签: jquery jquery-ui jquery-ui-droppable jquery-jscrollpane

我有两个相邻的jScrollPanes,它们包含可放置的li元素。第一个div位于第二个div之上(在y轴上),因此顶部的溢出流在它下面的一个“下面”(两个都溢出:隐藏)。问题是,当我将一个可拖动元素放入较低的jScrollPane时,该事件被中的可放置元素捕获上部和下部,即使上部的元素位于可见区域之外它的容器。

如何防止“隐藏”元素(滚动窗格之外的元素)捕获掉落事件?我已经尝试插入逻辑来测试droppable是否:hidden或:visible,但是没有用。使用z-index也不起作用。我想将droppable()处理程序委托给容器,而不是将它委托给li,但是不支持。

1 个答案:

答案 0 :(得分:0)

我通过使用this answer并修改它以使用jScrollPane解决了这个问题。不同之处在于您需要考虑两种不同的父母。其他解决方案中引用的“父”的大小可以从$(this).closest(".jspContainer")获得,但您还需要考虑可视区域的偏移量。如果您只是垂直滚动,则偏移为parseInt(#(this).closest(".jspPane").css("top")