2014-04-08 103 views
0

我嘗試在使用dblclick禁用可拖動元素後重置jQuery可拖動元素的位置。我的問題是,當我刪除可拖動創建的內聯樣式時,當我再次啓用可拖動時,它們不會再回來。禁用時重置jQuery UI可拖動元素的位置

這就是我現在做的事:

$("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(); 
    } 
}); 

我可能需要到別的地方removeAttr的代碼,但我與jQuery的經驗是有限的,所以我似乎無法找出其中。

在這裏,你可以檢查出一個演示:http://jsfiddle.net/bQuf8/

+0

jsfiddle怎麼樣? –

+0

@ A.Wolff在這裏你可以看看演示:http://jsfiddle.net/bQuf8/ – adalsteinn

回答

0

我不知道如果我正確理解你的問題。
但是如果你想在重新設置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> 
+0

謝謝,這正是我想要實現的!對不起,不夠清楚。 – adalsteinn

相關問題