2011-07-07 2 views
0

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

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

ответ

0

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

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

Смежные вопросы