从另一个div拖动时滚动目标div

时间:2014-05-20 11:16:15

标签: javascript jquery jquery-ui drag-and-drop jquery-ui-draggable

给出2个div,两个都是自动滚动。 我希望能够将项目从Div1拖动到Div2,或者在Div1内部拖动。

项目永远不会在Div2中 - Div2上的掉落事件会将它放在Div1上的正确位置

到目前为止,这很容易,但这里有障碍 - Div2需要能够在拖动时垂直滚动。

我无法在jQuery draggable中找到任何有助于此的内容,所以我尝试创建自己的悬停区域,这会导致Div2上的滚动。这在拖动时不起作用但在拖动时不起作用。我怀疑jQuery正在窃取事件,导致我不能解雇。

HTML:

<div id="Outer">
  <div id="Div1">
    <div class='Item'></div>
    <div class='Item'></div>
    <div class='Item'></div>
  </div>

  <div id="Div2">
    <div class="ScrollUp"></div>
    some long content that causes a scrollbar
    <div class="ScrollDown"></div>
  </div>
</div>

的CSS:

#Div1, #Div2
{
   overflow: auto;
}

的javascript:

$('#Div1>.Item').draggable({appendTo: $('#Outer')});
$('#Div1').droppable({tolerance: 'pointer'});
$('#Div2').droppable({drop: Div2Drop});
function Div2Drop() {}; //function places the item into the approriate place in Div1 
$('#ScrollUp, #ScrollDown').mouseenter(function(){... });  /* These 2 events don't */
$('#ScrollUp, #ScrollDown').mouseout(function(){... });    /* fire when dragging */

在内部拖动时,Div1也需要可滚动。

如何让事件触发,或者有更好的方法来执行此操作? (也许是我错过的可拖动和可丢弃交互内部的东西?

0 个答案:

没有答案