JQuery перетаскиваемая функция вызывается дважды - PullRequest
0 голосов
/ 07 июля 2011

Любая причина, почему эта функция вызывается дважды?В основном сценарий должен переместить контейнер на 100 пикселей вправо, если он перемещается слишком далеко в другом направлении.

<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 (core, widget,мышь, перетаскиваемая) для этого.

1 Ответ

0 голосов
/ 07 июля 2011

Событие перетаскивания вызывается при каждом перемещении контейнера перетаскивания. Событие может сработать несколько раз, прежде чем браузер сможет перерисовать его в первый раз после вашего обратного вызова.

Вы можете использовать опцию restin для ограничения div в контейнере и / или опцию revert для возврата объекта, если он выходит за пределы контейнера.

...