禁用时重置jQuery UI可拖动元素的位置

时间:2014-04-08 10:23:50

标签: jquery jquery-ui

我尝试在使用dblclick禁用draggable后重置jQuery draggable元素的位置。我的问题是当我删除draggable创建的内联样式时,当我再次启用draggable时它们将不会返回。

这就是我现在所做的:

$("span.spread").dblclick(function () {
    $(this).toggleClass("draggable");
    if ($(this).data('draggable')) {
        $(this).draggable('option', 'disabled') ? $(this).draggable('enable') : $(this).draggable('disable');
        $(this).removeAttr('style');
    } else {
        $(this).draggable();
    }
}); 

我可能需要在代码中的其他地方删除Attr,但我对jQuery的体验有限,所以我似乎无法弄清楚在哪里。

您可以在这里查看演示:http://jsfiddle.net/bQuf8/

1 个答案:

答案 0 :(得分:0)

我不知道我是否理解你的问题 但是如果你想在禁用draggable后重置div的原始位置 这是我的fiddle
如果我不明白你的问题,我很抱歉你浪费时间。

<script type="text/javascript">
$(document).ready(function(){
 $("span.spread").draggable({disabled:true});   
 $("span.spread").dblclick(function () {
        $(this).toggleClass("draggable");
        if($(this).hasClass('draggable')){
            $("span.spread").draggable({disabled:false});
            }else{
            $("span.spread").draggable({disabled:true});
            $(this).css({'position':'relative','top':'','left':''});
        };
    }); 
})
</script>
相关问题