Come posso ottenere un cambiamento di posizione CSS abbiano effetto durante gestore di eventi di avvio di un elemento di JQuery UI Draggable?

StackOverflow https://stackoverflow.com/questions/1105133

Domanda

Ho una strana situazione in cui ho bisogno di modificare la posizione di un elemento trascinabile non appena l'utente inizia trascinandolo. Così, durante il gestore di eventi di inizio dell'elemento trascinabile, sto cercando di impostare la posizione. Essa non risponde al cambiamento di posizione a meno che - e questo è strano - faccio qualcosa per causare un errore di javascript dopo che ho cambiato la posizione. Ecco un esempio:


<html>
<head>
<title>Drag reposition test</title>

<script type="text/javascript" src="js/css_browser_selector.js"></script> 
<script type="text/javascript" src="development-bundle/jquery-1.3.2.js"></script> 
<script type="text/javascript" src="development-bundle/ui/jquery-ui-1.7.1.custom.js"></script> <!-- Includes JQuery UI Draggable. -->

<style type="text/css">
    #draggable { width: 150px; height: 150px; padding: 0.5em; }
</style>

<script type="text/javascript">

$(function() {
    $("#initialdragger").draggable({    
        start: function(e, ui) {
            $('#initialdragger').css('top', 400);
            x = y; // Javascript error, which weirdly causes a redraw.
        }
    });     
});
</script>

</head>

<body>

<div id="initialdragger" class="ui-widget-content" style="border-width: 1px; border-color: black; background-color: orange; width: 300px">
    <p>Drag me around</p>       
</div>

</body>
</html>

Come posso legittimamente causare un redraw che accada in questo contesto? pelle di JQuery () e show () non funzionano e nemmeno questi metodi .

È stato utile?

Soluzione

Credo vincolante un evento MouseDown si arriva quello che vuoi

<script type="text/javascript">
    $(function() {
        $("#initialdragger").draggable();
        $('#initialdragger').bind("mousedown", function(e) {
            $(this).css('top', 400);
        });
    });
</script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top