2009-07-09 7 views
1

ドラッグ可能な要素の位置をユーザーがドラッグを開始するとすぐに変更する必要があるという奇妙な状況があります。したがって、ドラッグ可能な要素の開始イベントハンドラの間、私は位置を設定しようとしています。それはポジション変更に反応しません - そして、これは変です - 私はポジションを変更した後にジャバスクリプトエラーを引き起こす何かをします。ここに例があります:JQuery UI Draggable要素のstartイベントハンドラ中にCSS位置の変更を有効にするにはどうすればよいですか?


<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> 

このコンテキストでは、再描画を正当に行うことはできますか? JQueryのhide()とshow()は動作しませんし、どちらもthese methodsを実行しません。

答えて

1

は私がマウスダウンイベントはあなたが私は必要なものだ

<script type="text/javascript"> 
    $(function() { 
     $("#initialdragger").draggable(); 
     $('#initialdragger').bind("mousedown", function(e) { 
      $(this).css('top', 400); 
     }); 
    }); 
</script> 
+0

を望む何を得るでしょうバインディングと思います。私はまたそれが最初にしか起こらないようにする必要があったので、バインドされていないコールを投げることでそれが処理されました。 – Jim

関連する問題