Ich habe eine seltsame Situation, in der ich die Position eines ziehbaren Elements ändern muss, sobald der Benutzer beginnt, es zu ziehen. Daher versuche ich während des Start-Event-Handlers des dragbaren Elements, die Position festzulegen. Es reagiert nicht auf die Positionsänderung, es sei denn - und das ist seltsam - ich mache etwas, um einen Javascript-Fehler zu verursachen, nachdem ich die Position geändert habe. Hier ein Beispiel:Wie kann ich erreichen, dass eine css-Positionsänderung während des Start-Ereignishandlers eines JQuery UI Draggable-Elements wirksam wird?
<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>
Wie kann ich berechtigterweise bewirken, dass ein Neuaufbau in diesem Zusammenhang geschehen? JQuery's hide() und show() funktionieren nicht und auch nicht these methods.
Das ist, was ich brauchte. Ich brauchte es auch nur beim ersten Mal, also sorgte das für einen unbändigen Anruf. – Jim