jquery draggable函数被调用两次

时间:2011-07-07 07:20:49

标签: jquery jquery-ui jquery-ui-draggable

这个函数被调用两次的原因是什么?基本上,如果容器向另一个方向移动得太远,脚本应该将容器100px向右移动。

<script type="text/javascript"> 
$(document).ready(function() {
  $( "#container" ).draggable({axis: "x", drag: function() {
      if($(this).offset().left < -100) {
        $(this).data('draggable').offset.click.left -= 100;
      }
    }
  });
});
</script>

<div id="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
</div>

我使用jquery-latest.min和jquery-ui-1.8.14(核心,小部件,鼠标,可拖动)。

1 个答案:

答案 0 :(得分:0)

每次拖动容器移动时都会调用拖动事件。该事件可能会在浏览器第一次从您的回叫中重绘之前触发几次。

您可以使用约束选项来约束容器中的div,和/或还原选项,以便在对象超出容器时还原该对象。