jQuery draggable:当鼠标离开父级时停止拖动

时间:2012-10-08 15:12:13

标签: jquery draggable mouseout

请查看此jsFIDDLE

<div id="wrapper">
    <div class="item">
        <div class="button_area"></div>
        <div class="icon"></div>
    </div>

    <div class="item">
        <div class="button_area"></div>
        <div class="icon"></div>    
    </div>
</div>​

这是html代码,我正在拖动.button_area:

$('.button_area').draggable({});

除了一件事之外,它正在起作用。当我点击红色区域(在第二个黄色方块中)并开始向左(第一个黄色方块)拖动时,我希望它在鼠标越过第二个黄色方块(父级)时停止拖动过程....不是可拖动的对象(助手)......小鼠。

2 个答案:

答案 0 :(得分:2)

您只能以这种方式修改您的jquery

$( ".button_area" ).draggable({
drag: function(event, ui) { 
  if(my_condition) 
      return false; }
  });​

提示!

一个例子就是:

$( ".button_area" ).draggable({
drag: function(event, ui) { 
  if($('.button_area').offset().left > 50) 
  { 
     $( '.button_area' ).draggable( 'option',  'revert', true ).trigger( 'mouseup' );
  } 
 }
 });​

答案 1 :(得分:2)

在sokie和Lunik的帮助下,我做到了:jsFIDDLE SOLUTION

谢谢你们。

$( ".button_area" ).draggable({});

$(".item").mouseout(function() {
    $( '.button_area' ).draggable( 'option',  'revert', true ).trigger( 'mouseup' );
});