Javascript 在JQuery UI可拖动元素';启动事件处理程序?

Javascript 在JQuery UI可拖动元素';启动事件处理程序?,javascript,jquery,events,draggable,redraw,Javascript,Jquery,Events,Draggable,Redraw,我有一种奇怪的情况,在这种情况下,我需要在用户开始拖动可拖动元素时修改其位置。因此,在draggable元素的start事件处理程序中,我试图设置位置。它不会响应位置的改变,除非——这很奇怪——我在改变位置后做了一些事情导致javascript错误。下面是一个例子: <html> <head> <title>Drag reposition test</title> <script type="text/javascript" src="j

我有一种奇怪的情况,在这种情况下,我需要在用户开始拖动可拖动元素时修改其位置。因此,在draggable元素的start事件处理程序中,我试图设置位置。它不会响应位置的改变,除非——这很奇怪——我在改变位置后做了一些事情导致javascript错误。下面是一个例子:


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

阻力重新定位试验
#可拖动{宽度:150px;高度:150px;填充:0.5em;}
$(函数(){
$(“#initialdragger”).draggable({
开始:功能(e、ui){
$('initialdragger').css('top',400);
x=y;//Javascript错误,奇怪的是会导致重新绘制。
}
});     
});
把我拖来拖去


在这种情况下,我如何合法地导致重画发生?JQuery的hide()和show()不起作用,也不起作用。

我认为绑定mousedown事件可以满足您的需要

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

$(函数(){
$(“#initialdragger”).draggable();
$('#initialdragger').bind(“mousedown”,函数(e){
$(this.css('top',400);
});
});

我认为绑定mousedown事件可以满足您的需求

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

$(函数(){
$(“#initialdragger”).draggable();
$('#initialdragger').bind(“mousedown”,函数(e){
$(this.css('top',400);
});
});

这正是我需要的。我也需要它只在第一次发生,所以在一个未绑定的电话中处理这个问题。这就是我需要的。我也需要它只发生在第一次,所以在一个未绑定的电话中抛出处理了这一点。